在Haskell中合并PDF文件

时间:2013-03-17 18:19:17

标签: haskell pdf-generation

Mac上的预览应用程序允许合并多个PDF文件,但功能相当模糊。我正在Haskell中编写一个需要执行类似任务的实用程序,即将任意数量的PDF文件合并到一个新文件中。

有没有人建议从哪里开始?显然,如果Hackage上有一个库可以完成大部分开箱即用的工作,那么如果没有,那么关于从哪里开始的一些指示将非常受欢迎。

2 个答案:

答案 0 :(得分:4)

我正在研究pdf library,它支持解析和生成。它是低级别的,更高级别的工具在todo列表中(因为很难设计好的高级API)。

Here是解压缩和解密PDF文件的示例。实现PDF合并很容易,但您需要熟悉PDF内部。

增加: 我在Haskell中创建了basic example合并PDF文件。总共150行代码,但缺少一些功能(请参阅文件顶部的注释)。它们很容易添加,如果您有兴趣,请告诉我。

答案 1 :(得分:2)

PDF文件格式并不复杂。 Adobe在某处提供了官方规范文档。基本上PDF文件包含一组带编号的“对象”。您必须从每个PDF文件中获取所有对象,重新编号以使它们是唯一的,然后您需要摆弄页面索引以便实际显示所有页面。

Hackage上似乎有几个用于编写 PDF文件的软件包,但我没有看到正在阅读它们。您可能希望查看pdfsplit的源代码。还HPDF