首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用非标准字体将Excel转换为PDF的VBA

用非标准字体将Excel转换为PDF的VBA
EN

Stack Overflow用户
提问于 2014-11-06 18:08:14
回答 1查看 2.3K关注 0票数 0

我正在尝试使用ExportAsFixedFormat将excel表导出到pdf,我的代码是创建PDF,但它用转换后的PDF中的标准字体替换了我的Excel文件中的Myriad。

出口代码如下:

代码语言:javascript
复制
awb.Sheets("PIN").ExportAsFixedFormat Type:=xlTypePDF, _
                 fileName:=strFileName, _
                 Quality:=xlQualityStandard, _
                 IncludeDocProperties:=True, _
                 IgnorePrintAreas:=False, _
                 OpenAfterPublish:=False

有没有办法强迫Adobe使用我设置的字体而不是恢复到标准字体?当我手动将单个工作表转换为PDF时,它可以很好地工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-06 20:23:50

您可以使用Acrobat Distiller,如果它安装在每台机器上将使用您的文件.如果是这样,你就这样做:

首先,在Distiller的打印机设置中,需要禁用选项Rely on system fonts only; do not use document fonts,否则会收到错误消息。

其次,在VB编辑器的Tools菜单中,转到References选项。您需要找到并检查Acrobat Distiller引用。

代码:

代码语言:javascript
复制
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,打印机名称可能有所不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26786409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档