我使用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
在这里不起作用...