如何使用 Ruby Prawn 替换现有 PDF 中的单词?
-你好,桑迪普。我是绝地大师尤达的学徒。我的主人相信 Ruby 社区的力量很强大,并选择我使用 Ruby 语言完成一个简单的任务:
我需要使用 Prawn PDF gem 来完成该任务。我有一个名为 Dooku.pdf 的现有 pdf 文档 - 它包含有关邪恶杜库伯爵活动的敏感信息。在 Dooku.pdf 中有一个名为 {galaxy} 的文本。 {galaxy} 始终位于 pdf 文档每一页的相同位置。
我需要打开 Dooku.pdf,将 {galaxy} 的每个实例替换为 {planet},然后保存/关闭 Dooku.pdf。如何使用 Prawn PDF gem 完成此任务?
-愿原力与你同在。
-Hello Sandeep here. I am an apprentice to the Jedi Master Yoda. My master believes the force is strong in the Ruby community and has chosen me for a simple task to complete using the Ruby langauge:
I need to use the Prawn PDF gem to accomplish the task. I have an existing pdf document called Dooku.pdf - it contains sensitive information on the Evil Count Dooku's activities. In Dooku.pdf there is text called {galaxy}. {galaxy} is always in the same location on every page of the pdf document.
I need to open Dooku.pdf, replace each instance of {galaxy} with {planet} and then save/close Dooku.pdf. How do I accomplish this task using the Prawn PDF gem?
-May the force be with you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你不能。 Prawn 是用来写 PDF 的,不是用来阅读的。
You can't. Prawn is for writing PDFs, not reading them.
1)我是一个星球大战迷,但是该死的。
2)你的“简单任务”一点也不简单。覆盖现有文本并不难……但替换它完全是另一回事。并且忘记重排现有文本。几乎不可能。
如果覆盖它就足够了,那么您只需在第一个字符串上绘制一个填充背景颜色的矩形,然后在其顶部绘制第二个字符串。我对 Prawn PDF 不熟悉,所以我将把实现细节作为读者的练习。
1) I'm a star wars fan and all, but damn.
2) Your "simple task" is not even remotely simple. It's not that hard to COVER the existing text... but REPLACING IT is another mater entirely. And forget reflowing existing text. All-but-impossible.
If covering it will suffice, then you need only draw a rectangle filled with the background color over your first string, then draw your second string on top of it. I'm not familiar with Prawn PDF, so I'll leave the implementation details as an Exercise For the Reader.
较晚,但在 Ruby 中,您可以调用 Applidok PDF 合并,它允许在任何现有 PDF 上写入用户数据(例如来自 Web 表单)。请参阅 Ruby 文档:http://doc.applidok.com/merge-ruby.html 。
Late and around, but in Ruby you can call Applidok PDF merge, which allow to write user data (e.g. from a Web form) on any existing PDF. See Ruby doc: http://doc.applidok.com/merge-ruby.html .