用PHP编写自己的HTML到PDF转换库

用PHP编写自己的HTML到PDF转换库,php,pdf,Php,Pdf,我计划编写自己的库,将(x)html转换为PDF。我真的不知道为什么我打算承担这样一项极其乏味和复杂的任务,我想我需要一个好的挑战。我想我也会学到很多 我该考虑什么, 我在哪里可以找到让我开始的信息 可能的陷阱是什么 嗯,是的。这是一项艰巨的任务。但这里有一个总的建议。将FPDF用作生成PDF的后端是最容易的。但是如果你想了解PDF规范,你应该避免使用较新的版本,使用更容易生成的较旧的格式(如PDF 1.2)。文件格式非常分散,但并不复杂。在XHTML到PDF的转换中,您将面临的主要问题是P

我计划编写自己的库,将(x)html转换为PDF。我真的不知道为什么我打算承担这样一项极其乏味和复杂的任务,我想我需要一个好的挑战。我想我也会学到很多

    我该考虑什么,
  • 我在哪里可以找到让我开始的信息
  • 可能的陷阱是什么

  • 嗯,是的。这是一项艰巨的任务。但这里有一个总的建议。将FPDF用作生成PDF的后端是最容易的。但是如果你想了解PDF规范,你应该避免使用较新的版本,使用更容易生成的较旧的格式(如PDF 1.2)。文件格式非常分散,但并不复杂。在XHTML到PDF的转换中,您将面临的主要问题是PDF是PostScripts的同父异母,需要定位输出。据我记忆所及,PDF不支持flowtext。你必须将HTML段落分开,并在每页上分别放置单词或句子。这需要了解用于计算宽度和内容的字体。

    是的。这是一项艰巨的任务。但这里有一个总的建议。将FPDF用作生成PDF的后端是最容易的。但是如果你想了解PDF规范,你应该避免使用较新的版本,使用更容易生成的较旧的格式(如PDF 1.2)。文件格式非常分散,但并不复杂。在XHTML到PDF的转换中,您将面临的主要问题是PDF是PostScripts的同父异母,需要定位输出。据我记忆所及,PDF不支持flowtext。你必须将HTML段落分开,并在每页上分别放置单词或句子。这需要了解用于计算宽度和内容的字体。

    这只是一个头脑风暴列表,需要考虑:

    • PDF的标记(如果你可以这么说的话)非常神秘,所以你要做很多时髦的字符串转换
    • PDF是基于纸质页面的传统概念,因此您必须考虑分页符、重复页眉和页脚、页码等。由于HTML页面不受限制,因此您必须找到方法选择最佳的分页符位置,等等
    • PDF和xhtml一样是严格嵌套的(每个标记都有一个结束标记),但html不是,例如没有结尾斜杠的

      。这会引起问题。您需要强制执行严格的xhtml,否则将解决此问题
    • 有一个商业软件princeXML,我用它把xhtml转换成PDF,他们有一个论坛,你可以在那里学到很多有关问题和技术的知识
    • 正如Pekka所评论的:你需要这个:

    这只是一个头脑风暴式列表,列出了需要考虑的事项:

    • PDF的标记(如果你可以这么说的话)非常神秘,所以你要做很多时髦的字符串转换
    • PDF是基于纸质页面的传统概念,因此您必须考虑分页符、重复页眉和页脚、页码等。由于HTML页面不受限制,因此您必须找到方法选择最佳的分页符位置,等等
    • PDF和xhtml一样是严格嵌套的(每个标记都有一个结束标记),但html不是,例如没有结尾斜杠的

      。这会引起问题。您需要强制执行严格的xhtml,否则将解决此问题
    • 有一个商业软件princeXML,我用它把xhtml转换成PDF,他们有一个论坛,你可以在那里学到很多有关问题和技术的知识
    • 正如Pekka所评论的:你需要这个:

    我已经编辑了你的最后一段,除非你想结束你的问题。我刚刚对你精心设计的问题投了高票(并且编辑了一点);)很公平。如前所述,你需要这样:啊,本为我做了编辑。。。奇怪的(雷达外的)奉献词的选择确实。但无论如何还是要谢谢你。@Pekka在需要表扬的地方给予表扬并不粗鲁我已经编辑了你的最后一段,除非你想让你的问题结束。我只是对你精心设计的问题投了更高的票(并且编辑了一点);)很公平。如前所述,你需要这样:啊,本为我做了编辑。。。奇怪的(雷达外的)奉献词的选择确实。但无论如何还是要谢谢你。@Pekka在该表扬的地方给予表扬并不粗鲁