C# 把XML转换成PDF文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 把XML转换成PDF文件相关的知识,希望对你有一定的参考价值。
是这样的,客户那边有个JAVA开发的OA系统,里面的传真发送功能需要调用我们的接口(WebService)(asp.net开发),既然是发传真,就得有附件。客户那边不愿意做附件上传到FTP,他们是想把附件(pdf文档)及一些参数做成XML传给我们。
这样的话,我们就要进行xml解析,把里面的pdf文件还原(XML里不止是一个PDF文件,可能是多个,而且还包含一些不属于PDF文件的参数,如:传真号码、发送人、客户组等),并且保存到我们的服务器上。有没有什么好的方法(不考虑付费的第三方软件)
可以对pdf进行二进制编码,实现上很简单,只要把web service设计为如下的形式就行了:
以下是asp.net服务器端的Webservice代码
[WebMethod]bool SendFax(FaxInfo[] arFaxies) // 设计为数组参数,一次就可以上传多份文档了。
foreach(var f in arFaxies)
f.SaveInfoToDB(); // 把参数存数据库啥的。
f.SaveBinToFile(); // 把f.FileContent用StreamWriter存为文件,还是原来的pdf. ftp什么的最笨了!
[Serializable]
public class FaxInfo
public string FromNumberget;set;
public string ToNameget;set;;
// 上面就是你说的参数什么的。
public byte[] FileContentget;set; // pdf文件内容要求发送方放在这里。如果是每个传真都有多个pdf, 那就应该用 “byte[][]”类型。
这样就可以把pdf读为二进制字节数组,放到这个对象里。发放过程中,字节数组会被代理程序base64编码,合并在xml里,收到时,服务器会自动解码为二进制数组。
参考技术A 逻辑有问题,pdf里面有签名都处理不了怎么将XML转换成HTML文件
先把你要转换的文件放到我的电脑!就我的文档C吧(比如)。然后点文档C,再点“文件夹”上的“工具”。点“文件夹选项(O)”再点上面的“查看”然后点“隐藏受保护的操作系统文件”最后把你要换的文件名称最后的字不是格式吗(HTML,什么的)把原先删掉,换成你要的比如XML就行了,不过不是每个文件都适合任何格式的 参考技术A 可以通过xslt来实现 。 XSLT(Extensible StyleSheet Language Transmations),是XSL(可扩展样式语言)的一种,是一种基于模版的样式转换语言,说的直接一点就是可以把XML文本转成其他格式的文本以上是关于C# 把XML转换成PDF文件的主要内容,如果未能解决你的问题,请参考以下文章