ITextSharp的麻烦 - 将XML转换为PDF

时间:2010-05-06 19:24:21

标签: c# xml pdf-generation itextsharp

好的......我正在尝试使用最新版本的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中的示例代码进行编译的旧版本,但它也没有用。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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