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

来源:互联网 发布:java图形界面编程 pdf 编辑:程序博客网 时间:2024/05/18 17:45

关于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">             <intent-filter>                 <action android:name="android.intent.action.MAIN" />
2.在style.xml文件中
<style name="SplashTheme" parent="AppTheme">      <item name="android:windowFullscreen">true</item>        <item name="android:windowIsTranslucent">true</item>    </style>
开始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也可以生成表格,这里不在赘述,可以在官网查看。
一下是模版


以下是生成以后的事例


需要注意以下几个方面,
1、Document doc = newDocument(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的时间和系统一起实时更新。
以上是我写的,有哪些不太懂,或者缺失的可以提出来,我在补充。


原创粉丝点击