2

我希望能够在 AutoCAD 中向用户的“DWG 到 PDF” PC3 文件添加更多默认/自定义纸张尺寸(或者至少能够阅读它),但唯一的方法似乎是使用 AutoCAD 提供的界面。我知道 PC3 文件的位置,但是当我使用记事本之类的东西打开一个文件时,它似乎被压缩了。我希望能够使用 Visual Studio/VB.NET 来添加它们。必须有一种以编程方式执行此操作的方法。

该文件的标题显示:PIAFILEVERSION_2.0,PC3VER1,compress

4

3 回答 3

2

不幸的是,我们没有公共 API 来修改 PC3 文件。

于 2019-10-23T06:05:11.810 回答
1

有一个很好的解决方案可以改变打印机配置路径的偏好,让 cad serach 像这样对你的文件进行搜索。不要忘记在新的 pc3 文件中分离 pm 文件并在同一文件夹中保存一个新文件

Public Sub Plot()
    Dim Ov As String, Nv As String
    Ov = CdApp.Preferences.Files.PrinterConfigPath '' this is the old location
    Nv = Application.StartupPath
    CdApp.Preferences.Files.PrinterConfigPath = Nv '' this is the new location
    Dim Lw(0 To 1) As Double, Up(0 To 1) As Double
    Lw(0) = -0.5 : Lw(1) = -0.5 : Up(0) = 1 : Up(1) = 1
    CdDoc.ActiveLayout.SetWindowToPlot(Lw, Up)
    CdDoc.ActiveLayout.CenterPlot = True
    'CdDoc.ActiveLayout.RefreshPlotDeviceInfo()
    CdDoc.ActiveLayout.ConfigName = "Boules JPG.pc3" ''this is the file that i make
    CdDoc.ActiveLayout.CanonicalMediaName = "UserDefinedRaster (1600.00 x 1600.00Pixels)"
    CdDoc.ActiveLayout.PlotRotation = AutoCAD.AcPlotRotation.ac0degrees
    CdDoc.ActiveLayout.PaperUnits = AutoCAD.AcPlotPaperUnits.acPixels
    CdDoc.ActiveLayout.PlotType = AutoCAD.AcPlotType.acWindow
    CdDoc.ActiveLayout.PlotWithLineweights = False
    CdDoc.ActiveLayout.PlotWithPlotStyles = False
    CdDoc.ActiveLayout.ScaleLineweights = False
    CdDoc.ActiveLayout.ShowPlotStyles = False
    CdDoc.ActiveLayout.StandardScale = AutoCAD.AcPlotScale.acScaleToFit
    CdDoc.ActiveLayout.UseStandardScale = True
    CdDoc.SetVariable("BACKGROUNDPLOT", 0)

    Dim fil_jpg As String = Application.StartupPath & "\" & "Boules2.jpg"
    
    CdDoc.Plot.PlotToFile(fil_jpg)
    CdApp.Preferences.Files.PrinterConfigPath = Ov '' return the value to old location

End Sub
于 2022-01-03T03:48:22.957 回答
0

似乎这是不可能的,所以我研究了“打印”到 PDF 文件的其他选项。Microsoft 在打印机选择下拉列表中有一个选项,称为Microsoft Print to PDF,它也可用于完成自定义纸张尺寸,而无需修改 PC3 文件。自定义纸张尺寸可以通过编程方式添加到底层文件,但它有点复杂,涉及读取注册表和读取/写入系统假脱机文件夹,其中一个文件(XML 文件)需要保存为UTF8 无 BOM格式。

我不想抄袭别人的工作,也不想重新创建如此复杂的答案/解决方案,因此我将提供此链接到 Microsoft 答案论坛,以防其他人对该解决方案感兴趣:

Microsoft Print to PDF - 自定义纸张尺寸

于 2019-11-09T22:39:01.383 回答