Java 以编程方式将 AutoCAD .dwg 文件转换为 PDF 或图像的库?

Java library to programmatically convert AutoCAD .dwg files to PDF or image?

是否有 Java 库(免费和开源)可以将 .dwg 文件直接转换为 PDF 或图像文件? .dwg 使用最新的 CAD 规范(R14、R13、R12 和 2013)。

我知道 .NET 和 C++ 中有一些...Java 中的大部分是专有的且价格昂贵(例如:Java 的 Teigha)。

Java 中的免费文件,例如 Kabeja,通过中间格式 .dxf,这是一个非常大的文件...

不确定库,但您当然可以使用 AutoCAD I/O,它是 AutoCAD 运行 作为网络服务,无需您的计算机上的任何应用程序即可运行。查看更多 http://developer.autodesk.com

这是一个脚本 (.scr),您可以在 AutoCAD 控制台上使用它来创建 PDF 文件。在这里工作得很好。

(setq CurrDwgName (getvar "dwgname"))
(setq Fname (substr CurrDwgName 1 (- (strlen CurrDwgName) 4)))
(setq name (strcat (getvar "DWGPREFIX") Fname ".pdf"))
;Command:
FILEDIA
;Enter new value for FILEDIA <1>:
0
;Command:
-PLOT
;Detailed plot configuration? [Yes/No] <No>: 
Yes
;Enter a layout name or [?] <Model>:
Model
;Enter an output device name or [?] <None>:
DWG To PDF.pc3
;Enter paper size or [?] <ANSI A (11.00 x 8.50 Inches)>:
ANSI A (11.00 x 8.50 Inches)
;Enter paper units [Inches/Millimeters] <Inches>:
Inches
;Enter drawing orientation [Portrait/Landscape] <Portrait>: 
Landscape
;Plot upside down? [Yes/No] <No>:
No
;Enter plot area [Display/Extents/Limits/View/Window] <Display>: 
Extents
;Enter plot scale (Plotted Inches=Drawing Units) or [Fit] <Fit>:
Fit
;Enter plot offset (x,y) or [Center] <0.00,0.00>:

;Plot with plot styles? [Yes/No] <Yes>:
Yes
;Enter plot style table name or [?] (enter . for none) <>:
.
;Plot with lineweights? [Yes/No] <Yes>:
Yes
;Enter shade plot setting [As displayed/legacy Wireframe/legacy Hidden/Visualstyles/Rendered] <As displayed>:

;Enter file name <C:\Work\solids-Model.pdf>:
!name
;Save changes to page setup? Or set shade plot quality? [Yes/No/Quality] <N>:
No
;Proceed with plot [Yes/No] <Y>:
Yes
;Command:
FILEDIA
;;;Enter new value for FILEDIA <1>:
1 

如果您喜欢 'old-school',请创建一个包含以下内容的 .BAT 文件:

FOR %%f IN (C:\dwg_folder\*.dwg) DO "C:\Program Files\Autodesk\AutoCAD 2016\accoreconsole.exe" /i "%%f"  /product ACAD /s "C:\folder\PDFScript.scr" /l en-US

这应该将特定文件夹中的所有 DWG 批处理为 PDF

我对 2015 年的看法:

经过不断的研究和测试,我得出结论,目前没有免费的解决方案可以将 AutoCAD .dwg 文件转换为 Java 中的 PDF/image,我们认为这是可靠的。这尤其适用于最新版本的 AutoCAD,例如:AutoCAD 2010、AutoCAD 2013 等....

可靠(且昂贵)的解决方案是 ODA 的 Teigha(每年 2000 美元)和 AutoCAD 的 C# 中的 RealDWG(每年 5000 美元)...

更便宜的替代品如下:

  • AutoCAD I/O 每月 10 美元(根据 Augusto Gonclaves 的建议)
  • 在 AutoCAD 2015/2016 的付费实例中使用 SCRIPT 文件编写 LISPS 例程并运行它们..
  • 等待更完整的 AutoCAD 核心控制台实现...

Kabeja 和 YCad 等开源库可能能够处理较旧的 AutoCAD 版本,但不要对它们抱有太大期望,因为这些项目自几年前就处于非活动状态。不过,值得关注 Apache Tika,因为他们开始为 .dwg 文件编写解析器,但开发进展缓慢......