word文档转pdf插件_word文档转pdf免费

admin|
39
起因

在项目中(2018年)用Office Com组件读取Word遇到很奇怪的问题,在一台机器(Windows XP系统)偶尔出现假死的情况,而异常没有捕获到.所以想尝试替换该组件.

因为项目是.Net Framework 3.5,可选的组件不多,最终在项目中使用第二种方式.在操作word/excel更好不好使用.Net自带Office的组件,因为该组件是要安装Office的,在客户电脑上可能安装WPS办公的.

使用Aspose.Words组件将word转pdf

使用老版Aspose.Words在doc转pdf的时候,发现pdf文件的样式总是出现对不齐.

1.之一种方式aspose.words.nodecollection tables = doc.getchildnodes(nodetype.table, true);for (int i = 0; i < tables.count - 1; i++){ rowcollection rows = (tables[i] as aspose.words.tables.table).rows; foreach (aspose.words.tables.row row in rows) { cellcollection cells = row.cells; foreach (aspose.words.tables.cell cell in cells) { string txt = cell.gettext().replace("\a", ""); //将\a替换为空 cell.firstparagraph.remove(); aspose.words.paragraph p = new aspose.words.paragraph(doc); p.appendchild(new run(doc, txt)); cell.appendchild(p); } }}2. 第二种方式,将doc升级为docx,主要使用Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));Aspose.Words.Document doc = new Aspose.Words.Document("提取pdf.docx"); //加载docx文档DocumentBuilder builder = new DocumentBuilder(doc);//替换文本doc.Range.Replace("$title", "测试检查", false, false);doc.Range.Replace("$dyrq", DateTime.Now.ToString("yyyy-MM-dd"), false, false);//使用书签builder.MoveToBookmark("qm1");builder.InsertImage("1.jpg", 50, 30);Guid guid = Guid.NewGuid();doc.Save(string.Format("{0}.doc", guid), SaveFormat.Doc); //生成docdoc.Save(string.Format("{0}.pdf", guid), SaveFormat.Pdf); //生成pdfdoc.Print(); //打印,可以指定打印机Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));

个人能力有限,如果您发现有什么不对,请私信我

如果您觉得对您有用的话,可以点个赞或者加个关注,欢迎大家一起进行技术交流

0条大神的评论

发表评论