image.png (28.2 KB)
如上图转换之后是三条黑区域,并且图片偏最右侧
使用的是Aspose-cad-24.6.1.jar
如下是原cad:
demo.zip (88.8 KB)
这是我编写的代码:
LoadOptions loadOptions = new LoadOptions();
loadOptions.setSpecifiedEncoding(CodePages.SimpChinese);
CadImage cadImage = (CadImage)CadImage.load("D:\\demo.dwg",loadOptions);
CadRasterizationOptions cadRasterizationOptions = new CadRasterizationOptions();
//导出所有的布局:默认为false,导致只能导出第一个布局
cadRasterizationOptions.setExportAllLayoutContent(true);
//设置背景颜色
cadRasterizationOptions.setBackgroundColor(Color.getBlack());
cadRasterizationOptions.setPageWidth(cadImage.getWidth());
cadRasterizationOptions.setPageHeight(cadImage.getHeight());
cadRasterizationOptions.setAutomaticLayoutsScaling(true);
cadRasterizationOptions.setNoScaling(false);
//这一句是输出线条为彩色的关键
cadRasterizationOptions.setDrawType(CadDrawTypeMode.UseObjectColor);
for (int i = 0, size = cadImage.getLayers().size(); i < size; i++)
{
CadLayerTable layer = (CadLayerTable) cadImage.getLayers().get_Item(i);
layer.setLineWeight((short) 0);
}
PdfOptions pdfOptions = new PdfOptions();
pdfOptions.setVectorRasterizationOptions(cadRasterizationOptions);
cadImage.save("D:\\demo.pdf", pdfOptions);