我有一个pdf文件(使用\usepackage[a-2b]{pdfx}
用乳胶创建),在这里我可以正确地复制和粘贴连字,即,“ fi”在我的文本编辑器中粘贴为“ fi”。 pdf相当大,因此我正在尝试通过以下ghostscript命令减小其尺寸:
gs -dPDFA-2 -dBATCH -dNOPAUSE -sPDFACompatibilityPolicy=1 -sDEVICE=pdfwrite
-dPDFSETTINGS=/printer -sProcessColorModel=DeviceRGB
-sColorConversionStrategy=UseDeviceIndependentColor
-dColorImageDownsampleType=/Bicubic -dAutoRotatePages=/None
-dCompatibilityLevel=1.5 -dEmbedAllFonts=true -dFastWebView=true
-sOutputFile=main_new.pdf main.pdf
虽然这会产生一个很好的小pdf,但是当我用“ fi”复制一个单词时,我反而(通常)得到“ő”。
由于正确的字符是以某种方式在原始pdf中编码的,所以我可以提供一些参数给ghostscript以便仅将这些信息保留在转换后的pdf中吗?
我在macOS 10.14上使用ghostscript 9.27。
没有看到您的原始文件,以便我可以看到文本的编码方式,因此不可能确定。 pdfwrite设备“保留信息”当然是[[not的可能,有关解释,请参见here。
如果原始PDF文件具有ToUnicode CMap,则pdfwrite设备应使用该文件在输出文件中生成新的ToUnicode CMap,并进行剪切和粘贴/搜索。如果没有,那么转换过程将破坏编码。通过将SubsetFonts设置为false,您可能
可以改善结果,但这只是一个猜测而没有看到示例。我的猜测是您的原始文件没有ToUnicode CMap,这意味着它基本上只能靠运气工作。