【问题标题】:Trouble with ITextSharp - Converting XML to PDFITextSharp 的问题 - 将 XML 转换为 PDF
【发布时间】:2011-02-16 13:11:30
【问题描述】:

好的...我正在尝试使用最新版本的 ITextSharp 将 XML 文件转换为 PDF。它不工作。

SourceForge 上的文档似乎跟不上实际的发布;提供的示例中的代码甚至无法在最新版本下编译。

这是我的测试 XML:

<Remittance>
<RemitHeader>
<Payer>BlueCross</Payer>
<Provider>Maricopa</Provider>
<CheckDate>20100329</CheckDate>
<CheckNumber>123456789</CheckNumber>
</RemitHeader>
<RemitDetail>
<NPI>NPI_GOES_HERE</NPI>
<Patient>Patient Name</Patient>
<PCN>0034567</PCN>
<DateOfService>20100315</DateOfService>
<TotalCharge>125.57</TotalCharge>
<TotalPaid>55.75</TotalPaid>
<PatientShare>35</PatientShare>
</RemitDetail>
</Remittance>

这是我试图将其转换为 PDF 的代码。

Document doc = new Document(PageSize.LETTER, 36, 36, 36, 36);
  iTextSharp.text.pdf.PdfWriter.GetInstance(doc, 
    new StreamWriter(fileOutputPath).BaseStream);
  doc.Open();
  SimpleXMLParser.Parse((ISimpleXMLDocHandler)doc, 
    new StreamReader(fileInputPath).BaseStream);
  doc.Close();

现在,我很确定 (ISimpleXMLDocHandler)doc 部分不起作用,但我实际上在源代码中找不到任何 a) 实现 ISimleXMLDocHandler 和 b) 将接受标准 XML 文档并解析它的东西转为 PDF。

仅供参考-我确实尝试过使用 sourceforge 中的示例代码进行编译的旧版本,但它也无法正常工作。

【问题讨论】:

  • 我记得遇到过一些事情,表明他们将非 PDF 功能(肯定是 HTML 和 RTF)分离到一个单独的 dll 中。也许他们也将 XML 功能拉到了那个单独的 dll 中?
  • @John Fisher- 我不这么认为(我肯定是错的),但我在其他任何命名空间中都没有找到任何东西;而且只有一个 .dll 可用...
  • 也许我记错了,这只是命名空间的变化。

标签: c# xml pdf-generation itextsharp


【解决方案1】:

浏览 5.0.2 的代码后,似乎没有任何文档可以将 XML 转换为 PDF 供您使用。因此,除非您可以在网络上或在 iTextSharp 的旧版本中找到类似的代码,否则您需要自己编写。

【讨论】:

  • 看来你是对的。我想我会自己写的。
【解决方案2】:

iText XML to PDF 要求根据 itext.dtd 对 XML 进行格式化(请负责任地使用 Google)。您还可以使用 tagmap.xml 将您的 XML 实体映射到根据 DTD 适当的实体。

【讨论】:

    猜你喜欢
    • 2013-03-09
    • 2015-06-13
    • 2022-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多