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文件的主要内容,如果未能解决你的问题,请参考以下文章

XML文件怎样打开成PDF各式的来看?

如何用C#将Excel转换成XML文件,希望把一些关键的地方讲得详细些,能让我明白就给分

如何把XML格式转换成JSON-CSDN论坛

C#如何从UTF8转换成GBK

怎么用JAVA实现XML到PDF的转换?

Office Open XML文档怎么转换成word文档 2003的