将 xmlDocument 对象数据转换为 pdf
Posted
技术标签:
【中文标题】将 xmlDocument 对象数据转换为 pdf【英文标题】:converting xmlDocument object data to pdf 【发布时间】:2017-12-08 22:05:18 【问题描述】: 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 保存在项目的调试文件夹中 现在我的 pdf 应该包含一个表格,其中包含一行和一个包含“Hello”的单元格。 谁能帮我做这件事。我对编程很陌生。
【问题讨论】:
您将不得不自己尝试解决问题,您只需通过谷歌搜索即可找到大量资源(即***.com/a/2937805/292411)。如果您遇到特定问题,可以在这里提问。 【参考方案1】:这是一个比较模糊的问题,我不知道“data.xml”可以有什么样的内容,以及它应该如何映射到PDF文件。
您提到了“Hello”作为示例,但无法加载为 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");
这里还有生成的“sample.pdf”:
【讨论】:
以上是关于将 xmlDocument 对象数据转换为 pdf的主要内容,如果未能解决你的问题,请参考以下文章
将 XDocument 转换为 XmlDocument,反之亦然
WebService 从我的 XmlDocument 中删除 <xml> 标记