网站首页 > 技术文章 正文
起因
在项目中(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); //生成doc
doc.Save(string.Format("{0}.pdf", guid), SaveFormat.Pdf); //生成pdf
doc.Print(); //打印,可以指定打印机
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
个人能力有限,如果您发现有什么不对,请私信我
如果您觉得对您有用的话,可以点个赞或者加个关注,欢迎大家一起进行技术交流
猜你喜欢
- 2024-10-26 Aspose.Total 最新试用版大放送,更有海量资源等你来拿
- 2024-10-26 JAVA操作office工具 java 操作excel的工具
- 2024-10-26 开年钜惠|ASPOSE、Spire、Text Control文档管理产品超低折扣热销领跑
- 2024-10-26 看Aspose帮助知名企业实现邮件附件在线转换,提升邮件处理效率
- 2024-10-26 PDF开发工具Aspose.PDF功能推荐——在.NET中将PDF转换为HTML
- 2024-10-26 文档在线预览新版 总结篇 world在线预览
- 2024-10-26 在 Python 中将 HTML 转换为 PNG、JPEG、BMP、GIF 或 TIFF 图像
- 2024-10-26 送您一份文档管理控件Aspose&Spire系列中文教程!请查收
- 2024-10-26 文档在线预览(四) 总结篇 office在线预览解决方案
- 2024-10-26 Aspose.Words教程(六):Xamarin和.NET Standard的差异和局限
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)