我正在尝试使用ExportAsFixedFormat将excel表导出到pdf,我的代码是创建PDF,但它用转换后的PDF中的标准字体替换了我的Excel文件中的Myriad。
出口代码如下:
awb.Sheets("PIN").ExportAsFixedFormat Type:=xlTypePDF, _
fileName:=strFileName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False有没有办法强迫Adobe使用我设置的字体而不是恢复到标准字体?当我手动将单个工作表转换为PDF时,它可以很好地工作。
发布于 2014-11-06 20:23:50
您可以使用Acrobat Distiller,如果它安装在每台机器上将使用您的文件.如果是这样,你就这样做:
首先,在Distiller的打印机设置中,需要禁用选项Rely on system fonts only; do not use document fonts,否则会收到错误消息。
其次,在VB编辑器的Tools菜单中,转到References选项。您需要找到并检查Acrobat Distiller引用。
代码:
Sub ExportPDF()
Dim acro As New ACRODISTXLib.PdfDistiller6
Dim wk As Worksheet
Const opFile As String = "C:\test\test.ps"
Const PDFFile As String = "C:\test\test.pdf"
Const PrinterName As String = "Adobe PDF"
Set wk = Sheet1
wk.PrintOut ActivePrinter:=PrinterName, PrintToFile:=True, PrToFileName:=opFile
acro.FileToPDF opFile, PDFFile, ""
End Sub这应该是一个很好的起点。
注意:是Distiller的对象名,对于不同版本的Distiller,打印机名称可能有所不同。
https://stackoverflow.com/questions/26786409
复制相似问题