【问题标题】:I want to create a PDF Writer like iTextSharp not use iTextSharp - Creating PDFs from scratch [closed]我想创建一个像 iTextSharp 这样的 PDF 编写器,而不是使用 iTextSharp - 从头开始​​创建 PDF [关闭]
【发布时间】:2018-10-29 08:53:54
【问题描述】:

这是关于 PDF 的一些不同要求。我不想使用 3rd 方库来创建 PDF 我想创建像 iTextSharp 这样的 PDF 编写器,以便从任何数据源创建 PDF。本质上,我想创建自己的 OWN PDF 工具。

这不是将现有文档转换为 PDF 的要求(我已经知道如何使用 interop 这个词来做到这一点,并且我有使用 iTextSharp 的经验)。

我真正难以找到的信息是如何从头开始创建 PDF?在我的搜索中,几乎找不到关于创建 PDF 需要做什么的信息。

我已通读 PDF 标准: https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf

我了解所有 PDF 需要遵守的格式要求才能与 Acrobat 和 FoxPDF 等 PDF 阅读器一起使用,但这些标准显然与技术无关,仅作为指导方针。

所以我想问的是关于启动这个项目的一些指导。我正在专门寻找与 C#(.NET 或 Mondo)相关的教程,甚至只是几行代码来为我指明正确的方向。

亲切的问候, 赫尔加德·瓦格纳

【问题讨论】:

  • 我可以推荐 jsreport。它是一个用于创建 PDF 文件的开源库。您可以查看它以了解您想要做什么的“一些”知识。链接页面:github.com/jsreport/jsreport-core
  • 如果您真的想创建自己的 PDF 生成代码(即 just-another-PDF-library)并且您已经知道有开源 PDF 生成器(iText、PDF Clown,...),为什么不简单地查看他们的代码?顺便说一句,实现支持大部分 PDF 格式的 PDF 生成器将需要大量工作。如果您只想要非常简单的东西,您可以从 this answer 中的代码开始,这是一个非常简单的 Java(易于移植)PDF 生成器,仅支持 PDF 功能的一小部分,但至少是一个开始。跨度>
  • 考虑到您同时删除的答案 - 正是您要查找的代码?我们可以创建一个您可以接受的正确答案(而不仅仅是评论)。

标签: c# pdf


【解决方案1】:

您可能没有找到太多关于从头开始创建自己的 PDF 编写器的信息的一个原因是,大多数软件开发人员通过经验意识到通常reinvent the wheel 更好。 (虽然我知道有时候你别无选择。)

从技术上讲,该规范为您提供了创建 PDF 所需的信息,大多数 PDF 阅读器都应该可以阅读。例如,您需要编写标题、对象主体、交叉引用表和预告片以构成基本的 PDF。

但我要提醒您,PDF 文件可能会变得非常复杂,而编写与世界其他地方相得益彰的 PDF 时可能出现的问题也同样复杂。

像一本书一样从头到尾阅读文件格式规范但是根据我的经验并没有帮助,在您有一些经验后作为参考使用它会更有用。您可以做的一件事是使用像 Acrobat 这样的 PDF 编写器并创建一个非常简单的 PDF,其中包含“Hello World”文本并将其保存到磁盘,然后在您最喜欢的文件编辑器中检查它以查看结构和看看规范中的概念在实践中的表现如何,例如拖车、体内物体等。

然后您可以开始考虑如何构建代码以构建一个简单的 PDF 并逐个添加您感兴趣的功能。

如果这只是一个学术练习,对你来说更有力量。但是,如果这是一个工作项目,我会重复上面的重复,你应该使用现有的工具。但需要注意的是,PDF 领域有很多参与者,但他们并非生而平等。

【讨论】:

  • 嗨 JosephA,感谢您的反馈,非常感谢,我知道它已经过去了 8 个月,但我已经取得了一些重大进展,但最终被放弃了,因为 iTextSharp 等其他库最符合要求.我分享这篇文章是为了让每个人都可以避免花费几个月的时间“重新发明轮子”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-03
  • 2018-12-27
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 2012-03-10
相关资源
最近更新 更多