- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须自动对 PDF 文档进行预检检查。预检包括:
只是想知道这是否可以使用 PoDoFo 或任何其他开源项目来完成。或者,如果我确实需要订购一些 2000 美元到 6000 美元之间的专有软件。我的托管环境位于 Linux 上,支持 PHP、Perl、Python、Ruby、Java。
有什么想法吗?
最佳答案
我不知道有任何现成的开源软件可以满足您的要求。
只有一部分可以通过编写自己的shell脚本(或其他程序)来解决。
检测图像的分辨率。
运行pdfimages -list some.pdf
来输出PDF中包含的图像列表及其尺寸......看起来。但有一点并不明显:这些尺寸是原始图像的尺寸(嵌入在 PDF 中)。这可能是 720x720 像素。但是,如果渲染到 10x10 英寸见方的页面上,该图像在页面上的分辨率将为 72 DPI。如果在 1x1 英寸的正方形上渲染,则将为 720 DPI。 PDF 中的两种类型的“渲染”都可以由相同的嵌入原始图像进行,当前“图形状态”的上下文决定了应用哪一种。因此,要确定页面上显示的图像的实际 DPI,需要进行一些额外的 PDF 解析...
无论如何,您都可以告诉 Ghostscript 将图像重新采样到 300 dpi,并为此使用“阈值”。 (Ghostscript 永远不会对图像进行“上采样”,只会对超出阈值的图像进行下采样。上采样几乎没有任何意义——它只会增大文件大小,而不会带来更高的质量。)
使用 ICC 配置文件将颜色转换为色彩空间 CMYK。
Ghostscript can do that 的最新版本。另请参阅most recent Ghostscript documentation描述其对 ICC 的支持。
嵌入未嵌入的字体。
运行(并评估其结果)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/
我在我的代码中使用了这一行: PdfMemDocument doc(path); podofo 将其写入标准错误: ]/Info 126 0 R/Prev 503377/Root 1 0 R/Size
我使用标准的 cmake 和 make 安装程序构建了 podofo-0.9.2。我在/usr/include/podofo 目录中包含文件。我将它添加到我的路径中。然后我尝试使用以下语法编译 pod
我正在使用 PoDoFo 提取字符位移以正确更新文本矩阵。这是我的一段代码: PdfString str, ucode_str; std::stack *stack; const PdfFontMet
我在 PoDoFo 中编码波兰语字符时遇到问题图书馆。 此代码生成单词“Łódź”的无效编码 #include using namespace PoDoFo; int main(int argc,
我正在使用 C++ 库 PoDoFo ( http://podofo.sourceforge.net/ ),我想要实现的是将 PDF 页面嵌入到新的空白 PDF 文档中。 我正在使用的构造函数的文档在
我发现了这个类似的问题 SO: error: ‘Page’ was not declared in this scope但情况不同,因为我不处理头文件。 正如您从下面的代码中看到的,我正在使用 PoD
这个问题是关于PoDoFo的具体问题图书馆。 如何访问字体资源的编码字典中的 /Differences 数组条目? 从Tf操作符读取字体名称后,我可以通过PoDoFo::PdfPage::GetFro
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我需要使用 podofo 从 pdf 文件中提取所有图像。从文件中提取所有图像效果很好。我为此使用了图像提取器示例。这会接收所有对象并迭代它们。但我需要遍历页面并检查页面上的图像对象。有人知道怎么做吗
这可能是这个问题的副本How can I use the PoDoFo library for annotating PDFs on iOS?还没有回应。我知道如何在 iOS 的 xcode 项目中使
我一直在尝试使用 PoDoFo C++ 库来提取文本和线条(及其各自的坐标)。但是我没有办法做到这一点。 这是我目前所拥有的: #include #include #include #inclu
嗨,我正在尝试从一些 pdf 中解析一些文本,我想使用 PoDoFo,现在我尝试搜索如何使用 PoDoFo 解析 pdf 的示例,但是我能想出的只是示例如何创建和编写不是我真正需要的 pdf 文件。
我正在尝试从 PDF 文件中提取原始文本。我已经找到了 PoDoFo 库,它似乎可以完成这项工作。 基于 this answer这是我现在所做的: #include #include #inclu
我想在 iOS 应用程序中注释 PDF。我遇到了 PoDoFo library ,但我不确定如何在 iOS 应用程序中使用它。 是否可以使用此库在 iOS 上注释 PDF?如果是,怎么办? 最佳答案
我正在尝试使用 PoDoFo 库从 PDF 文件中提取文本,它适用于 Tj 运算符,但无法为 (数组)TJ 运算符。我找到了这段代码(经过我的小修改)here : const char*
我正在尝试构建 PoDoFo但我几乎没有与 OpenSSL 相关的链接器错误(我认为)。我尝试构建它 (OpenSSL),但它太复杂了,所以我从 http://slproweb.com/product
我正在尝试在我的 Windows 平台上构建 PoDoFo 库(用作 API)。这是使用 CMake 完成的。 ReadMe 文件说明如下。不幸的是,我是 CMake 的新手,我无法从中了解很多。 B
我正在使用 PoDoFo library对于标准 PDF 注释,它在 ios6 和更早版本上工作,当我将应用程序升级到 ios7 时,它会像这样显示 EXC_BAD_ACCESS 它在这段代码中崩溃了
我已经为 iOS 构建了 Podofo 0.9.3 以及支持 amrv7、arm64 和模拟器所需的所有其他库。我的项目运行良好,但我的问题是第二次加载文档。我总是在 Podofo 中收到错误“找不到
我正在尝试在 Eclipse 中为 C++ 设置 PoDoFo操作系统 - Ubuntu 16.04 LTS Podofo 链接 - http://podofo.sourceforge.net/dow
我是一名优秀的程序员,十分优秀!