pdf - 无法阻止 Ghostscript 子集字体
问题描述
我使用 wkHTMLtoPDF 从网站生成了一个 PDF,名为test3.pdf
.
pdffonts
报告字体是嵌入的而不是子集的:
$ pdffonts test3.pdf
Config Error: No display font for 'Symbol'
Config Error: No display font for 'ZapfDingbats'
name type emb sub uni prob object ID
------------------------------------ ----------------- --- --- --- ---- ---------
ArialRegular CID TrueType yes no yes 11 0
ArialBold CID TrueType yes no yes 40 0
TimesNewRomanRegular CID TrueType yes no yes 41 0
之后我用 Ghostscript (9.06) 进一步处理了文件,明确告诉它不要子集字体:
gswin64c.exe \
-dPDFX \
-dBATCH \
-dNOPAUSE \
-dNOPROMPT \
-dNOOUTERSAVE \
-sProcessColorModel=DeviceCMYK \
-sColorConversionStrategy=CMYK \
-sColorConversionStrategyForImages=CMYK \
-sDEVICE=pdfwrite \
-sPDFACompatibilityPolicy=1 \
-sOutputICCProfile=Coated_Fogra39L_VIGC_300.icc \
-dAutoFilterColorImages=false \
-dAutoFilterGrayImages=false \
-dDownsampleColorImages=false \
-dDownsampleGrayImages=false \
-dDownsampleMonoImages=false \
-dCompressFonts=true \
-dSubsetFonts=false \
-dEmbedAllFonts=true \
-sOutputFile=test3.ghost.pdf \
PDFX4_def.ps \
test3.pdf
然而,结果test3.ghost.pdf
具有子集字体:
$ pdffonts test3.ghost.pdf
Config Error: No display font for 'Symbol'
Config Error: No display font for 'ZapfDingbats'
name type emb sub uni prob object ID
-------------------------------------- ----------------- --- --- --- ---- ---------
EFHOSN+TimesNewRomanRegular-Identity-H CID TrueType yes yes yes 33 0
JXUCAA+ArialBold-Identity-H CID TrueType yes yes yes 29 0
HDZKQN+ArialRegular-Identity-H CID TrueType yes yes yes 15 0
我检查了源代码,并且(使用未压缩的 QPDF)字体字节流实际上比来自test3.pdf
.
显然-dSubsetFonts=false
在这里不起作用...
解决方案
推荐阅读
- reactjs - 如何使用 reactsj 和 typescript 在 reducer 文件中返回数据?
- python - 在命令提示符下运行包时出错,找不到模块
- php - 更改默认用户配置文件 URL - BBpress 插件
- neo4j - Cypher Neo4j - 根据相同的关系对相似的实体进行排名
- c++ - 链接到库时 CLion CMake 无法正常工作,但 Visual Studio 可以
- cmd - 合并我放置 .bat 的位置的所有 txt 文件(包括子文件夹)
- spring-boot - 找不到 Spring MVC 控制器 jsp 文件
- c# - Json.Net 根据约定扩展 JToken 字段
- unity3d - 统一的admob不显示
- javascript - 如何模拟点击?