我有一个 pdf 文件,我想知道是否可以将其所有字体嵌入/子集到 PDF 文件本身?是否有支持此操作的工具?
答案1
您可以从 InDesign 导出嵌入字体的 PDF,但前提是您的计算机上有字体,并且可以将程序指向这些字体文件。我想 Acrobat Pro 也支持这一点。我不确定是否可以在已经生成的 PDF 文件中编辑字体,但如果有任何工具可以让您做到这一点,那可能就是 Acrobat Pro(不要与 Acrobat Reader 混淆)。
答案2
Ghostscript 可以做到这一点。但有一个条件:原始 PDF 引用的字体必须存在于运行 Ghostscript 的系统上。
以下是在 Windows 上运行的示例命令:
gswin32c.exe ^
-sFONTPATH=c:/windows/fonts;d:/some/dir/with/more/fonts ^
-dCompatibilityLevel=1.4 ^
-dPDFSETTINGS=/prepress ^
-dCompressFonts=true ^
-dSubsetFonts=true ^
-dNOPAUSE ^
-dBATCH ^
-sDEVICE=pdfwrite ^
-sOutputFile=output.pdf ^
-c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams" ^
-f input.pdf
生成的output.pdf
文件应该包含所有input.pdf
未嵌入的字体。只需确保-sFONTPATH=...
包含(至少)一个目录,gswin32c
命令会在该目录中找到缺失的字体。
答案3
PDF 生成工具的文档将解释如何在可能的情况下启用字体嵌入。务必遵循以此方式嵌入的所有字体的许可证。
答案4
只需将其转换为 PDF/A 即可。这仍然是 PDF,但嵌入了字体。
这里描述了许多方法:如何将 PDF 转换为 PDF/A?
最简单的方法之一是使用在线转换器,例如https://pdf.online/pdf-to-pdfa