【问题标题】:PHP: Existant pdf to PDF/APHP:现有的 pdf 到 PDF/A
【发布时间】:2015-05-25 15:00:12
【问题描述】:

您好,我发现 pdf 很难理解。我需要将现有的 pdf 转换为 pdf/a 。我试过 GhostScript,

'gs -dPDFA -dBATCH -dNOPAUSE -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 ...

但是文件的大小增加了很多。 700kb 到 14Mb。这样的尺寸是不可接受的。我需要替代品。有人知道吗?

【问题讨论】:

  • 最可能的问题是您的原始 PDF 文件使用了透明度。 PDF/A-1 规范中禁止透明(后来的版本允许),因此任何透明区域都将呈现为图像,这将大大增加文件大小。您需要指定更高版本的 PDF/A,或者接受这将发生的事实。正如下面的 Bruno 所暗示的,您的命令行也不完整。虽然 Ghostscript 能够在命令行中将 PDF 转换为 PDF/A,但您需要指定更多细节,例如要使用的颜色配置文件。

标签: php pdf itext ghostscript pdfa


【解决方案1】:

您不应期望命令行工具能够将 PDF 转换为 PDF/A。当您想从 PDF 创建 PDF/A 文档时,文件大小会增大,您也不应该感到惊讶。

要从 PDF 创建 PDF/A,您需要:

  1. 添加 XMP 元数据,
  2. 嵌入以前未嵌入的所有字体(通常不能从命令行执行此操作,因为您需要提供字体文件的路径以防找不到字体程序),
  3. 添加颜色配置文件,
  4. 删除所有加密,
  5. 删除 JavaScript。

除非要求创建 PDF/A-3,否则您可能还必须将所有附件转换为 PDF/A。

您的问题应该作为题外话结束,因为它不包含特定的编程问题(例如,我们可以修复的一些源代码)。这是一个非常宽泛的问题,您对不了解 PDF 也能做到这一点的期望过于乐观。

您的问题还包含缩略语。在主题行中您提到了 PHP,在标签中您提到了 iText。 iText 不是 PHP 库,您在任何问题中都没有提及 iText。

【讨论】:

  • 我一直在使用 itext 来填充和展平 pdf。感谢您向我解释一下,即使我可以使用更准确的想法来解决这个问题以及从哪里开始
  • 您的问题过于宽泛,因此无法回答。您有 ISO-19005 的副本吗?您知道您需要 PDF/A-1、PDF/A-2 还是 PDF/A-3?原始模板是否已经符合 PDF/A 标准?模板是 AcroForm 还是 XFA 表单?
  • 是的,我有基本的 1.4 文档。它可以是我认为的任何 pdf/a.... 任何地方都可以为像我这样的初学者解释这些东西?
  • 顺便说一句,Ghostscript 可以将 PDF 转换为 PDF/A(更准确地说,它可以将 PDF 文件作为输入并生成视觉上等效的 PDF/A 输出文件),并且可以从命令行完成。但是,提供的命令行不足以执行此操作,需要额外的参数/PostScript 代码,此处未提供。
猜你喜欢
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 2016-03-17
  • 2013-08-08
相关资源
最近更新 更多