将xmlDocument对象数据转换为pdf

时间:2017-07-05 09:53:21

标签: c# xml winforms pdf

       XmlDocument doc = new XmlDocument();


        string a=textBox1.Text;
        doc.LoadXml(a.Substring(a.IndexOf(Environment.NewLine)));

        XmlWriterSettings settings = new XmlWriterSettings();

        settings.Indent = true;

        XmlWriter writer = XmlWriter.Create("data.xml", settings);
        doc.Save(writer);

在上面的代码中将文本框内容转换为xml文件。现在我需要处理xmlDocument对象(doc)的每个元素,并且需要创建pdf。

我的文本框中的

字符串就像

你好

我的Xml文件data.xml保存在项目的debug文件夹中 现在我的pdf应该包含一个包含一行和一个单元格的表格,其中包含" Hello"在里面。 任何人都可以帮我做这个。我是编程新手。

1 个答案:

答案 0 :(得分:0)

这是一个相当含糊的问题,我不知道" data.xml"是什么类型的内容。可以有以及如何映射到PDF文件 你提到了#34;你好"例如,但无法加载为XmlDocument ...

尽管如此,这里有一个小样本可以帮助您入门(用于创建我使用GemBox.Document的PDF文件):

string a = @"
<table>
  <row>
    <cell>Hello 1-1</cell>
    <cell>Hello 1-2</cell>
  </row>
  <row>
    <cell>Hello 2-1</cell>
    <cell>Hello 2-2</cell>
  </row>
</table>";

XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(a.Substring(a.IndexOf(Environment.NewLine)));

XmlWriterSettings settings = new XmlWriterSettings() {  Indent = true };
XmlWriter writer = XmlWriter.Create("data.xml", settings);
xmlDocument.Save(writer);

ComponentInfo.SetLicense("FREE-LIMITED-KEY");
DocumentModel pdfDocument = new DocumentModel();

Table table = new Table(pdfDocument);
table.TableFormat.PreferredWidth = new TableWidth(100, TableWidthUnit.Percentage);
pdfDocument.Sections.Add(new Section(pdfDocument, table));

foreach (XmlNode xmlRow in xmlDocument.SelectNodes("/table/row"))
{
    TableRow row = new TableRow(pdfDocument);
    table.Rows.Add(row);

    foreach (XmlNode xmlCell in xmlRow.SelectNodes(".//cell"))
        row.Cells.Add(
            new TableCell(pdfDocument,
                new Paragraph(pdfDocument, xmlCell.InnerText)));
}

pdfDocument.Save("sample.pdf");

这里也是结果&#34; sample.pdf&#34;: generated sample.pdf file