2013-10-06 41 views
0

我有一个pdf,我想用它作为模板来创建一个新的pdf。目标是将图像放置在原始PDF中的特定占位符矩形内。原始pdf的创建由我控制,但占位符矩形/边界可能在pdf中的任何位置。我正在考虑在原始PDF中使用一个虚拟图像(具有相同的尺寸)作为占位符矩形。查找PDF中图像的坐标以替换为另一个图像

Prawn gem支持将图像放置在页面内给定的绝对/相对位置。

麻烦的是,因为矩形或虚拟图像可以在原始PDF在任何地方,我不知道是什么值以用于以下

pdf.image "/path/to/image", :at => [x,y]虾呼叫

是否有办法以原始PDF格式获取图像的坐标。我的原始理解告诉我必须渲染整个pdf才能知道这一点。是对的吗 ?如果是的话,什么是在内存中渲染pdf的好方法(无头),并获得各种pdf对象的坐标(如边界矩形,图像等)。

只要我能以编程方式触发它,我不受语言/运行时限制。

对这个问题有什么其他的解决方法?

回答

1

没有答案(例如我不知道Ruby语言),而是代替其他任何人,并且因为我目前还不能发表评论,所以这是我的想法。

如果上述条件为真(占位符和替换图像尺寸完全相同,并且颜色模型相同,例如RGB 24 bps),并且您控制模板创建(因此您可以将占位符存储在未压缩的PDF内),它可以快速作为字节串处理的文件中的原始替换脏。例如。占位符用红色填充,然后搜索模式(0xFF0000)x W * H并将其替换为原始图像数据。当然,你可以通过任何你喜欢的方式,例如:

convert my_image.jpg RGB: - | ...

如果此解决方案是否过脏或情况不完全一样,然后解析页面内容流的结构像

宽度0 0高度XY厘米
/名称做

这也不是最干净的,但对于大量的简单页面描述xy是您正在寻找的坐标。此外,如果您控制模板创建,为什么不在pdf中存储其他信息,例如, Info字典中的自定义键,然后在使用模板时将其读回。

相关问题