Ghostscript pdf 转换使连字无法复制和粘贴
Ghostscript pdf conversion makes ligatures unable to copy & paste
我有一个 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 设备 'preserve the information',有关解释,请参阅 here。
如果原始 PDF 文件具有 ToUnicode CMap,则 pdfwrite devcie 应使用它在输出文件中生成新的 ToUnicode CMap,维护 cut&paste/search。如果不是,则转换过程将破坏编码。您可能可以通过将 SubsetFonts 设置为 false 来改善结果,但这只是一个猜测,没有看到示例。
我猜你的原始文件没有 ToUnicode CMap,这意味着它基本上只能靠运气工作。
我有一个 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 设备 'preserve the information',有关解释,请参阅 here。
如果原始 PDF 文件具有 ToUnicode CMap,则 pdfwrite devcie 应使用它在输出文件中生成新的 ToUnicode CMap,维护 cut&paste/search。如果不是,则转换过程将破坏编码。您可能可以通过将 SubsetFonts 设置为 false 来改善结果,但这只是一个猜测,没有看到示例。
我猜你的原始文件没有 ToUnicode CMap,这意味着它基本上只能靠运气工作。