为什么将word文件导出为pdf时字体会改变?

问题描述 投票:0回答:2

我们在 access-vba 中使用此代码将单词转换为 pdf:

    Set w_app = CreateObject("word.application")
    w_app.Documents.Open(fileName:="C:\Temp\Test.docx")
    w_app.ActiveDocument.ExportAsFixedFormat "c:\Temp\test.pdf", wdExportFormatPDF, _
                                             OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, _
                                             Range:=wdExportAllDocument, From:=1, To:=1, item:=wdExportDocumentContent, _
                                             IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=wdExportCreateNoBookmarks, _
                                             DocStructureTags:=True, BitmapMissingFonts:=True, useIso19005_1:=false

但是当我们打开pdf时,所有使用“Apercu Pro”字体编写的文本都变成了“Segoe Script”字体。

当我们使用 Office-Word 手动导出文件时不会发生这种情况。

奇怪的是,当 !not! 中的字体为“Apercu Pro”时,它也能正常工作。安装在 Windows 中。

我们已经尝试过的:

  • 我们更改了 ExportAsFixedFormat 的每个参数 => 没有效果
  • 我们使用函数 ExportAsFixedFormat2 而不是 ExportAsFixedFormat => 没有效果
  • 尝试使用 w_app.ActiveDocument.SaveAs2("c:\Temp est.pdf", EmbedTrueTypeFonts:=False) 而不是 ExportAsFixedFormat => 没有效果
vba ms-access ms-word export-to-pdf
2个回答
1
投票

我并没有真正找出问题所在,但我的解决方案是卸载字体的 .otf-Version(OpenType 格式)并安装 .ttf-Version(True type 格式)。


0
投票

仅供未来的读者使用:即使我已经在使用

.ttf
文件,我也遇到了同样的问题,所以接受的答案对我不起作用。

我通过使用静态

.ttf
版本的字体(=固定粗细)而不是可变字体(=支持所有粗细等)来修复它。

© www.soinside.com 2019 - 2024. All rights reserved.