Aspose word 转换为pdf 排版错位和数据丢失

简介:
Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XPS,EPUB和其他格式。使用Aspose.Words可以在不使用Microsoft.Word的情况下生成、修改、转换和打印文档。
在这里插入图片描述

Aspose word 转换为pdf 排版错位和数据丢失
排版错位:

在使用中发现apose对word文档转换PDF操作中会出现将单页分成两页的情况。仔细分析后发现是因为word文档在编辑的时候是采用的多页编辑。页面效果是单页,可是在apose将word文档转为pdf后就变成了两页。所以要新生成一个word文档并保留原word文档的样式,问题解决。

try {
    long old = System.currentTimeMillis();
    File file = new File(targetFile);
    FileOutputStream os = new FileOutputStream(file);
    Document doc = new Document(sourcerFile);
    Document document = new Document();//新建一个空白pdf文档
    document.removeAllChildren();
    document.appendDocument(doc, ImportFormatMode.USE_DESTINATION_STYLES);//保留样式
    document.save(os, SaveFormat.PDF);//全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
    os.close();
    long now = System.currentTimeMillis();
    System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");  //转化用时
} catch (Exception e) {
    e.printStackTrace();
}

数据丢失:

在使用中发现apose对word文档转换PDF操作中会出现将页签数据丢失的情况。将问题反复重现后发现是因为word文档的样式无法保存。所以要新生成一个word文档并保留原word文档的样式,问题解决。

Aspose word 转换为pdf 排版错位和数据丢失
Aspose word 转换为pdf 排版错位和数据丢失

try {
    long old = System.currentTimeMillis();
    File file = new File(targetFile);
    FileOutputStream os = new FileOutputStream(file);
    Document doc = new Document(sourcerFile);
    Document document = new Document();//新建一个空白pdf文档
    document.removeAllChildren();
    document.appendDocument(doc, ImportFormatMode.USE_DESTINATION_STYLES);//保留样式
    document.save(os, SaveFormat.PDF);//全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
    os.close();
    long now = System.currentTimeMillis();
    System.out.println("共耗时:" + ((now - old) / 1000.0) + "秒");  //转化用时
} catch (Exception e) {
    e.printStackTrace();
}
  • 1
    点赞
  • 1
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值