当前位置: 首页 > 知识库问答 >
问题:

从PDF文件中提取CropBox作为MediaBox,并保留原始字体

呼延升
2023-03-14

我试图在这里找到答案并使用GhosScript,但没有成功。

所以,我有一个PDF文件与CropBox和MediaBox定义。CropBox/MediaBox比率在页面之间不同(尤其是在标题页和文档的其余部分之间)。我想要实现的是从每个页面提取CropBox,并用它的MediaBox eqal到CropBox呈现新的PDF。基本上,我想修剪所有的页面到Cropbox,并有MediaBox平等到这个CropBox在每一页。

我可以使用ghostscript或任何其他命令行工具来完成吗?

编辑

我终于设法用Ghostscript实现了这一点:

gs-dUseCropBox-dNOPAUSE-sDEVICE=pdfwrite-sOutputFile=out。pdf格式。pdf

但在转换过程中,我会收到如下信息:

第74页将字体Helvetica替换为KAENAW Helvetica

这是否意味着对于简单的裁剪操作,我确实需要在我的系统中安装原始pdf使用的所有字体?这是鬼剧本的工作原理吗?我想,pdf不需要被“重新渲染”,但这将是对内部维度数据的一些操作。


共有1个答案

澹台承
2023-03-14

如果没有看到你的档案,就不可能确定发生了什么。

最有可能的是,您的原始文件不包含Helvetica的嵌入副本(尽管作为其子集,它当然应该包含!)。PDF文件不允许包含'base 14'字体,其中包括Helvetica,您的文件可能不包含,因此Ghostscript使用其自己版本的Helvetica,这是当缺少base 14字体时应该发生的情况,您可以将其删除,因为所有PDF用户都保证拥有它们。

Ghostscript的pdfwrite设备不会(通常也有例外)呈现PDF文件,但EmbeddeAllFonts的默认设置是true,因此pdfwrite设备将使用自己的副本在其创建的PDF文件中嵌入Helvetica的副本。

如果你把文件贴在某个地方,我可以看一下。您还应该确保使用的是Gho stscript的当前版本。

 类似资料:
  • 问题内容: 我正在尝试使用Python 2.7.1(在Windows上,fyi)从zip文件中提取文件,而我的每一次尝试都显示了具有Modified Date =提取时间的提取文件(不正确)。 我也尝试使用.extractall方法,结果相同。 谁能告诉我我在做什么错? 我想认为这是可能的,而不必重新校正每个[Windows文件的文件创建日期?](http://codingdict.com/que

  • 我想将至少2个PDF文件合并为一个,同时保留原始PDF中的所有表单元素。表单元素包括文本字段、单选按钮、复选框、下拉菜单等。请查看此示例PDF文件的表单: 你能做到吗? 编辑:至于实现,我更希望在linux平台上使用开源工具(如'ghostscript'或任何其他您认为适合解决此任务的工具)的命令行解决方案。 当然,欢迎每个人提供解决这个问题的任何工作解决方案,包括一个编码解决方案,它涉及编写一个

  • 我正在尝试在xml文件中写入一些我迄今为止创建的很好的概要文件, 输入字符串为ProfilesList(0)=“45 65 67”ProfilesList(1)=“ProfileName”; 在xml文件中,配置文件是这样写的: ?XML Version=“1.0”encoding=“UTF-8”?profilesgroup xmlns:xsi=“http://www.w3.org/2001/xm

  • 我有一些pdf文件,使用pdfbox我已经将它们转换为文本并存储到文本文件中,现在我要从文本文件中删除它们 超链接 我希望按如下方式逐行获取有效文本: 我们提出了一种从纯文本中提取的多词概念词进行本体学习的方法OntoGain。OntoGain遵循一个由不同处理层定义的本体学习过程。在普通术语提取的基础上,通过对提取的概念进行聚类,形成概念层次结构。然后,衍生术语“分类法”将丰富非分类关系。已经研

  • 在python代码中,如何有效地将pdf中的某个页面保存为jpeg文件?(用例:我有一个python烧瓶Web服务器,其中pdf-s将被上传,每个页面对应的jpeg-s是存储的。) 这个解决方案很接近,但问题是它无法将整个页面转换为jpeg。

  • 问题内容: 我正在尝试使用提取此 PDF文件中包含的文本。 我正在使用PyPDF2模块,并具有以下脚本: 运行代码时,得到以下输出,该输出与PDF文档中包含的输出不同: 如何提取PDF文档中的文本? 问题答案: 要从PDF提取文本,请使用以下代码