从头开始创建.pdf的最佳Perl模块是什么?

时间:2009-02-17 13:29:52

标签: perl pdf cpan

CPAN上有很多模块与.pdf文件的创建和操作有关,我希望这个社区可以节省一些时间去盲目的小巷。

我希望从头开始创建.pdf文件,只需要简单的格式,例如粗体/斜体和左/右/中心对齐。从MVC的角度来看,能够使用模板文件会很好,但是如果最好的模块不支持它,我很好。我想为我的狭义问题集提供最好的模块。

编辑:让我们添加它必须是Perl模块的约束,如果不是纯perl解决方案的话。感谢您的答案!

更新:PDF创建是决定如何接近的一个难题。除了这里的好建议之外,似乎有大约1,000种不同的方法来解决这个问题,并且知道投入时间的解决方案是一个真正的挑战。在构建此解决方案的过程中,很容易获得外部可执行文件的依赖关系,这就是为什么我一直倾向于在Perl中执行所有操作。

我走上了试图使用PDF :: Create的道路,但发现它太有限了。您必须提供坐标以放置每个文本字符串,并且没有内置的文本包装概念......这是您必须完成的所有工作。我的任务开销不大。

我现在使用的是PDF :: API2,它比PDF :: Create强大得多,但仍然要求PDF组装在一个令人不安的低级别。幸运的是,网上有一些帮助。请参阅Rick Measham's excellent PDF::API2 tutorial with accompanying text_block() subroutine,谢天谢地解决了文本换行问题。

除非你在这里看到另一个更新,否则这是最终为我工作的解决方案。

6 个答案:

答案 0 :(得分:7)

我是CPAN模块CAM::PDF的作者,它绝对不是这项工作的最佳工具 - 它专为高性能编辑而设计,而不是创建。

在免费的PDF创建库中,我最喜欢PDF :: API2。它具有非常丰富的功能集和良好的加密支持(灵感来自我可能添加的CAM :: PDF!)作者Alfredo管理着一个流行的电子邮件列表。人们有时会抱怨文档,但我发现它足够了。

在商业图书馆中,我对pdflib有很好的经验。

答案 1 :(得分:6)

想到创建PDF的三个模块(没有特别的顺序)....

PDF :: Template为您提供了您可能渴望的模板选项? PDF :: Create似乎更直接(至少从文档中)并且可以更充分地满足您的“简单格式化”要求。

但是,如果你想知道“社区”的想法,那么只有PDF :: API2获得CPAN Ratings的评分,并获得4 out of 5 stars总分。

希望有所帮助。

PS。免责声明:我没有使用过任何这些模块。在过去,我总是使用Apache FOP转换XML / XSLT / XSL-FO,其中Perl用于创建初始XML数据。如果你想将PDF生成嵌入到你的Perl应用程序中,这对于小的东西来说可能是一种过度杀伤,并不总是理想的。

PPS。所以我也会在不久的将来看到这些CPAN PDF模块!

答案 2 :(得分:5)

它必须是Perl模块吗?您始终可以使用LaTeX并将其转换为PDF。不是那么直截了当,但这是另一种选择。

答案 3 :(得分:2)

G'day Marcus,

很高兴你找到了这个教程。我在PDF :: API2中做了很多工作,所以如果有什么我可以帮忙的,请告诉我。

当然,我推荐PDF :: API2!

有一个人Jay Hannah,他正在将文本块转换为CPAN的模块,它完全符合您的要求:粗体,斜体等。如果您查看邮件列表,您会在顶部看到他的帖子。

干杯!

Rick Measham

答案 4 :(得分:0)

是的,如果不确切知道你的约束是什么,很难回答。如果纯粹的Perl不是必需的,我会倾向于DocBook

您将生成的初始标记可以是非常简单的XML;转换只需要一个XSL处理器,并且需要像Apache的FOP那样进行转换。

答案 5 :(得分:-2)

如何使用perl保存在线pdf文件? http://www.nwcc.bc.ca/FNC/pdfs/Stepping%20Stones%20to%20improved%20Relationships%20-%20web.pdf

我正在使用file :: download。但问题是它没有使用url编码的字符串下载url。

夏尔马