使用23.7把dwg转成pdf时,一些符号变成了字母

操作方法:

public synchronized File doCadToPdf(InputStream inputStream, String outputFilePath) throws IOException {
File outputFile = new File(outputFilePath);
LoadOptions opts = new LoadOptions();
opts.setSpecifiedEncoding(CodePages.SimpChinese);
opts.setCustomFontFolders(new String[]{fileProperties.getCustomFontFolder()});
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
cadRasterizationOptions.setBackgroundColor(Color.getWhite());
cadRasterizationOptions.setPageWidth(fileProperties.getNewImageHeight());
cadRasterizationOptions.setPageHeight(fileProperties.getNewImageWeight() + 105F);
cadRasterizationOptions.setAutomaticLayoutsScaling(true);
cadRasterizationOptions.setNoScaling(false);
cadRasterizationOptions.setDrawType(1);
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(cadRasterizationOptions);
try (Image cadImage = Image.load(inputStream, opts);
OutputStream stream = new FileOutputStream(outputFile)) {
cadImage.save(stream, pdfOptions);
return outputFile;
}
}
CAD 文件
efb0976e-a079-4e6f-b0bd-d695c73cf2c4.png (40.1 KB)
原文件
EZ15-85.001 H05_极片导板.zip (56.0 KB)

转换后

image.png (461.7 KB)

那些符号变成了字母

@huangzx,
你好。
这是我的代码示例(Aspose.CAD 24.6.1):

CadImage cadImage = (CadImage) Image.load(inputFile);
PdfOptions pdfOptions = new PdfOptions();
cadImage.save(pdfName, pdfOptions);

结果:
EZ15-85.001 H05_极片导板.DWG_java_.pdf (518.1 KB)

问题与 AutoCAD 用于存储这些特殊符号的 GDT 字体有关。您需要在系统中安装此字体,或者您也可以遍历实体并尝试手动修改这些符号 (Conversion from DXF to EMF is substituting +_ with accesnts - #21 by rnzimiro)。

OK, 非常感谢,问题搞定了

@huangzx,
我们很乐意提供帮助 :slight_smile: