加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

itextsharp – 使用最新版本将iText XML转换为PDF

发布时间:2020-12-16 05:36:02 所属栏目:百科 来源:网络整理
导读:我找到了一些示例,展示了如何使用iText XML文档将 XML用于PDF.但它们都是旧版本4.x.是否有任何示例或有人发布所需/更新代码的示例以在5.x版中执行相同操作? 所有示例都引用了这样的代码,但是在新版本中我无法找到用于替换ITextHandler类的内容. http://www.
我找到了一些示例,展示了如何使用iText XML文档将 XML用于PDF.但它们都是旧版本4.x.是否有任何示例或有人发布所需/更新代码的示例以在5.x版中执行相同操作?

所有示例都引用了这样的代码,但是在新版本中我无法找到用于替换ITextHandler类的内容.
http://www.ridgway.co.za/archive/2005/07/31/itextsharpxmltopdfexample.aspx

Document document = new Document();
PdfWriter.GetInstance(document,new FileStream("ExampleDoc.pdf",FileMode.Create));
ITextHandler xmlHandler = new ITextHandler(document);
xmlHandler.Parse("ExampleDoc.xml");

另外,我不是想从HTML转到PDF. CSS样式永远不会像预期的那样出现.

编辑以提高它,真的需要一些帮助.有人吗?

很久以前,iText使用专有语法处理XML文件已被删除.有关作者的直接答案,请参见 this和 this.相反,我们鼓励您使用全球公认的XHTML XML标准.

我知道你说你不想使用HTML,因为它从来没有正确发布过,但也许你可以发布一些你正在尝试的样本,我们可以提供帮助.另外,请确保您使用的是XMLWorker而不是HTMLWorker.使用时,请参阅这些链接以获取其他帮助/信息.

> List of supported CSS properties
> Controlling fonts in HTML processing
> Adding base64 encoded images
> Changing the default image root path for relative images

编辑

此编辑是对@ JohnC评论的回答

我无法代表iText团队及其原因,但我可以猜测. PDF没有“段落”,“单词”,“表格”等.相反,PDF有文字,图纸(线条,图案)和图像.如果要手动执行这些操作,可以使用原始PdfContentByte对象.但是,我们鼓励您使用像Paragraph和PdfPTable这样的iText抽象,代表您使用PdfContentByte.

要使iText支持XML格式,首先需要创建自己的专有DTD和/或XML Schema.如果添加了任何功能,则需要正确地对模式进行版本化,这可能会给消费者带来问题和困惑.然后,它需要构建/维护一个解析器,将XML抽象转换为iText抽象或原始PDF命令.对于前者,你有一个抽象的谈论抽象,只是乞求破解.对于后者,您现在有两个抽象实现,最终将遇到功能奇偶校验问题.

此外,XML代表什么?段落,文本块,图像和表格?听起来像HTML已经没有必要重复那种架构了.或者它是“将内容Z放在坐标X,Y使用字体ABC”?这就是PdfContentByte的用武之地.真的,可能有一个原生解析器,但我猜这里没有太多人要求.或者,基于您自己的数据,XML是您自己的格式,例如< book>和<库存&gt ;?如果是这样的话,那么iText真的不知道如何设计风格.但是,您可以使用杠杆.Net / Java和XSLT将XML转换为它知道的XHTML命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读