使用Aspose.word生成.pdf和.doc(word)报告文件

关于Aspose.word的利用.dot文件生成word/pdf报告文件

Aspose.word是国外的一个付费的一个关于处理office的库,很强大,感觉比poi强大的多。如果大家仅仅是自己使用的话,可以在官网上下载她的测试版本,但是生成的word文件会红色水印。
下面直接进行我自己的项目经验的分析。
公司主要使用的是Aspose.word for Android的jar包,可以在Android中利用dot生成pdf、word等其他文件。 第一回使用国外的jar,英文就是个深坑,不过官网上有一些代码事例还算好的。
首先在Aspose的官网上下载jar包,网址 https://www.aspose.com/products/words/android-java,下载的是测试版本的,但是一个代码可以一劳永逸,如果需要正式的只要在官网上购买一个licsence进行注册,就可以去掉水印。代码是一样的,
注意: 我是使用的AndroidStudio开发的,需要注意两个方面,1、需要在Application继承MultiDexApplication这个类,主要是因为jar包过大需要分包处理。2、在gradle中添加javaMaxHeapsize,否则会照成内存不够用。 还有一个严重问题,如果项目中的jar过多的话,容易掉到首次加载app时会出现2s的白屏现象。主要原因application初始化时间过长,所以导致启动时会出现白屏的现象(网上有很多介绍具体原因的)。解决办法:(直接代码)
1、在manifest.xml文件中更换Application的theme换成透明的
android:name=".Welcome"
             android:label="@string/app_desktop_name"
             android:screenOrientation="portrait"
             android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
              android:theme="@style/SplashTheme">
             
                 
2.在style.xml文件中
开始Aspose.word的入坑之旅
我这里使用了Aspose.word的一部分功能,(功能很强大,但是我没有使用)
我们是利用自己dot模版生成pdf和word文件。
Document doc = new Document(templateFile.getPath());
 //设置字体
            FontSettings.getDefaultInstance().setFontsFolder(PreviewTemplateHelper.getAssetsFile().getPath(), true);
            FontSettings.getDefaultInstance().setDefaultFontName("MS YaHei"); 
            // 阅片报告
            DocumentBuilder builder = new DocumentBuilder(doc);
builder.moveToBookmark(bookmark);//bookmark是书签名
 builder.insertHtml(html);
 builder.write(hospitalInfo.getAddress());
builder.insertImage(PreviewTemplateHelper.getSignatureFilePath(user.getUuid()).getPath());

 PdfSaveOptions opts = new PdfSaveOptions();
            opts.setUpdateFields(true);
上诉中添加了html和String还有添加图片。Aspose.word也可以生成表格,这里不在赘述,可以在官网查看。
一下是模版
使用Aspose.word生成.pdf和.doc(word)报告文件_第1张图片

以下是生成以后的事例
使用Aspose.word生成.pdf和.doc(word)报告文件_第2张图片

需要注意以下几个方面,
1、 Document doc = new Document(templateFile.getPath());获取document对象
2、DocumentBuilder builder = new DocumentBuilder(doc);
3、
FontSettings.getDefaultInstance().setFontsFolder(PreviewTemplateHelper.getAssetsFile().getPath(), true);
FontSettings.getDefaultInstance().setDefaultFontName("MS YaHei");//这是设置dot模版生成pdf文件,否则会出现乱码。
4、
PdfSaveOptions opts = new PdfSaveOptions();
opts.setUpdateFields(true);//设置为true代表dot的时间和系统一起实时更新。
以上是我写的,有哪些不太懂,或者缺失的可以提出来,我在补充。


你可能感兴趣的:(Android,word,dot,pdf,Aspose.word)