如何使用Ghostscript预处理旧Kindle的PDF?

如何使用Ghostscript预处理旧Kindle的PDF?,pdf,ghostscript,kindle,Pdf,Ghostscript,Kindle,我有一台旧的KindleDX。由于残疾,我不能使用平板电脑或其他触摸设备,我将PDF文件传送到Kindle阅读。它需要预处理 在不光栅化PDF的情况下预处理PDF的好方法是什么 [当光栅化可接受时: k2pdfopt-用于地图或小文本的模式复制。这将光栅化,增强对比度,并使一切1.4兼容 k2pdfopt-模式复制-用于其他作品的dev dx。这将光栅化为800x1080,根据需要减少采样,增强对比度,同时使所有内容都具有灰度,并使所有内容都与1.4兼容 不接受光栅化文本时: 如果要保留图

我有一台旧的KindleDX。由于残疾,我不能使用平板电脑或其他触摸设备,我将PDF文件传送到Kindle阅读。它需要预处理

在不光栅化PDF的情况下预处理PDF的好方法是什么

[当光栅化可接受时:

  • k2pdfopt-用于地图或小文本的模式复制。这将光栅化,增强对比度,并使一切1.4兼容

  • k2pdfopt-模式复制-用于其他作品的dev dx。这将光栅化为800x1080,根据需要减少采样,增强对比度,同时使所有内容都具有灰度,并使所有内容都与1.4兼容

不接受光栅化文本时:

  • 如果要保留图形,请使用gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4-sstdout=%sstderr-dNOPAUSE-dQUIET-dBATCH-sOutputFile=output.pdf input.pdf。这会进行最小的更改,以使所有内容都与1.4兼容

  • gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4\ -g800x1080-r150-DPDFFIT第页\ -dFastWebView-sColorConversionStrategy=RGB\ -dDownsampleColorImages=true-dDownsampleGrayImages=true-ddownSampleMonoImageResolution=150-dGrayImageResolution=150-dMonoImageResolution=300-dColoImageDownSampleThreshold=1.0-dGrayImageDownsampleThreshold=1.0-dMonoImageDownsampleThreshold=1.0\ -sstdout=%sstderr-dNOPAUSE-dQUIET-dBATCH-sOutputFile=output.pdf input.pdf,如果需要适度的下采样。这将重新光栅化现有光栅图像以适合800x1080,并使所有内容都与1.4兼容

  • gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4\ -g800x1080-r150-DPDFFIT第页\ -dFastWebView-颜色转换策略=灰色\ -dDownsampleColorImages=true-dDownsampleGrayImages=true-ddownSampleMonoImageResolution=75-dGrayImageResolution=75-dMonoImageResolution=150-dColoImageDownSampleThreshold=1.0-dGrayImageDownsampleThreshold=1.0-dMonoImageDownsampleThreshold=1.0\ -sstdout=%sstderr-dNOPAUSE-dQUIET-dBATCH-sOutputFile=output.pdf input.pdf,如果您想要更积极的下采样。这将重新光栅化光栅图像以适合400x540,使其灰度化,并使所有内容都与1.4兼容。图像质量较低,但通常仍可识别

  • 如果要剪切所有图形,则gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4-dFILTERIMAGE-dFILTERVECTOR-sstdout=%sstderr-dNOPAUSE-dQUIET-dBATCH-sOutputFile=output.pdf input.pdf

如果使用这些选项中的任何一个对另一台设备进行预处理,请检查其屏幕大小(以像素为单位)。不要太担心每英寸像素数。]

[I.S.我的目标是修复PDF,以便它们1.不要使我的Kindle崩溃,2.不要冻结我的Kindle或花费太长时间加载每个页面,3.不要占用Kindle上太多有限的磁盘空间。最好还有4.不要光栅化文本,5.不要剪切所有图像,这有时会丢失表格,等等,以及6.不要回流文本,这会导致错误拉力赛失利。但我很高兴对大多数图片进行下采样。]

[I.S.请注意,我保留的是原件的副本。这不是节省磁盘空间的方法!]

对于扫描的PDF,Willus的k2pdfopt是一个很好的选择

k2opt-模式复制-开发dx

或者偶尔只是模式复制

对于pdf格式的pdf,我不想把所有内容都光栅化

gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4-sstdout=%stderr -dNOPAUSE-dQUIET-dBATCH

通常可以转换文件,因此Kindle Dx可以打开它们,但Kindle仍会因某些页面而变慢、冻结或崩溃

一种选择是按如下方式组合Ghostscript和Mutool:

  • gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4-sstdout=%stderr-dNOPAUSE-dQUIET-dBATCH预处理PDF以删除密码
  • mutool clean-g-g-d-s-l将垃圾分类,然后
  • gs -sDEVICE=pdfwrite-dCompatibilityLevel=1.4-sstdout=%stderr-dNOPAUSE-dQUIET-dBATCH再次获取更小更快的pdf
  • 注意:我认为Mutool的3rd-g相当于Ghostscript的-dDetectDuplicateImages。因为它会降低渲染速度,所以最好相反。我不知道如何将其设置为false。-dDetectDuplicateImages false?-uDetectDuplicateImages

    注意:我使用gtime来计时pdf渲染

    在单个应用程序中使用一个单步工具会有所帮助。图像缩减也会有所帮助。Ghostscript的文档很难理解

  • 对于清理,作为运行mutool的替代方法:
  • -dFastWebView可能会有所帮助

    -dNOGC表示Ghostscript默认情况下进行垃圾收集

  • 对于图像缩小:
  • -dPDFSETTINGS=/screen在9.50中似乎比在9.23中工作得更好。/ebook可能更好,因为它嵌入了所有字体

    -dFILTERIMAGE-dFILTERVECTOR在9.50中也比在9.23中工作得更好,但比我想象的要激烈

    许多设置似乎依赖于输入分辨率和/或输入页面大小

    -r似乎依赖于输入页面的大小,而不是输出页面的大小。KindleDX是800像素乘以1180像素

    -dDownScaleFactor相对于输入分辨率降低

    -g800x1080似乎是裁剪页面,而不是缩小页面

    我认为-sDEVICE=pdfimage8光栅化了一切,比如k2pdfopt

    在某些情况下

    gs-sDEVICE=pdfwrite-dCompatibilityLevel=1.4-dFastWebView -uDetectDuplicateImages-dPDFSETTINGS=/ebook-sstdout=%sstderr-dNOPAUSE-dQUIET-dBATCH产生的文件比-sDEVICE=pdfwrite-dCompatibilityLevel=1.4-sstdout=%sstderr-dNOPAUSE-dQUIET-dBATCH更大、速度更慢


    …我不知道如何理解这些结果。

    你在这里问了很多问题,这使得阅读和回答起来相当困难。你还没有真正明确地说明你想要实现什么(你也没有说你使用的是什么版本的GS和MuPDF)

    这里有几点,

    你不知道