gpt4 book ai didi

pdf - 使用 PoDoFo 或其他开源软件进行 PDF 预检程序?

转载 作者:行者123 更新时间:2023-12-01 19:33:01 34 4
gpt4 key购买 nike

我必须自动对 PDF 文档进行预检检查。预检包括:

  1. 检测现有文档中图像的分辨率,如果图像尚未达到该分辨率,请将其更改为 300dpi。
  2. 检测图像的色彩空间,如果不是 CMYK,则使用颜色配置文件将其转换为 CMYK。
  3. 检测现有 PDF 文档中是否嵌入了字体,并通过替换字体来纠正此问题。 (或绘制字体轮廓 - 我不确定这部分)。

只是想知道这是否可以使用 PoDoFo 或任何其他开源项目来完成。或者,如果我确实需要订购一些 2000 美元到 6000 美元之间的专有软件。我的托管环境位于 Linux 上,支持 PHP、Perl、Python、Ruby、Java。

有什么想法吗?

最佳答案

我不知道有任何现成的开源软件可以满足您的要求。

只有一部分可以通过编写自己的shell脚本(或其他程序)来解决。

  1. 检测图像的分辨率。

    运行pdfimages -list some.pdf来输出PDF中包含的图像列表及其尺寸......看起来。但有一点并不明显:这些尺寸是原始图像的尺寸(嵌入在 PDF 中)。这可能是 720x720 像素。但是,如果渲染到 10x10 英寸见方的页面上,该图像在页面上的分辨率将为 72 DPI。如果在 1x1 英寸的正方形上渲染,则将为 720 DPI。 PDF 中的两种类型的“渲染”都可以由相同的嵌入原始图像进行,当前“图形状态”的上下文决定了应用哪一种。因此,要确定页面上显示的图像的实际 DPI,需要进行一些额外的 PDF 解析...

    无论如何,您都可以告诉 Ghostscript 将图像重新采样到 300 dpi,并为此使用“阈值”。 (Ghostscript 永远不会对图像进行“上采样”,只会对超出阈值的图像进行下采样。上采样几乎没有任何意义——它只会增大文件大小,而不会带来更高的质量。)

  2. 使用 ICC 配置文件将颜色转换为色彩空间 CMYK。

    Ghostscript can do that 的最新版本。另请参阅most recent Ghostscript documentation描述其对 ICC 的支持。

  3. 嵌入未嵌入的字体。

    运行(并评估其结果)pdffonts some.pdf 将显示哪些字体未嵌入。

    Ghostscript 可以 embed un-embedded fonts .

因此,可以满足您大部分要求的 Ghostscript 命令如下:

gs                                     \
-o cmyk.pdf \
-sDEVICE=pdfwrite \
-sColorConversionStrategy=CMYK \
-sProcessColorModel=DeviceCMYK \
-sOutputICCProfile=/path/to/your.icc \
-sColorImageDownsampleThreshold=2 \
-sColorImageDownsampleType=Bicubic \
-sColorImageResolution=300 \
-sGrayImageDownsampleThreshold=2 \
-sGrayImageDownsampleType=Bicubic \
-sGrayImageResolution=300 \
-sMonoImageDownsampleThreshold=2 \
-sMonoImageDownsampleType=Bicubic \
-sMonoImageResolution=1200 \
-dSubsetFonts=true \
-dEmbedAllFonts=true \
-sCannotEmbedFontPolicy=Error \
-c ".setpdfwrite<</NeverEmbed[ ]>> setdistillerparams" \
-f some.pdf

此命令将对分辨率高于双倍所需分辨率 (*ImageDownSampleThreshold=2) 的所有图像进行下采样。此外,它会将所有这些设置应用于任何输入文件(除非某些特殊的 PDF 印前检查软件会根据特殊属性“检查”的结果应用选择性“修复”)。

最后,我不明白是什么让您认为您必须花费 2000 美元到 6000 美元,以防您不得不求助于闭源商业预检软件。 (在这个领域我最喜欢的是非常强大的 callas pdfToolbox6 (甚至有一个在 Linux 上作为 CLI 运行的版本)——它的基本版本售价 500 欧元。)

关于pdf - 使用 PoDoFo 或其他开源软件进行 PDF 预检程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661093/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com