最近在做一个项目,里面有个业务是说预览收到的word文档,之后审批套红,网上搜索了一下代码,2007版本的word转pdf比较简单,几句代码的问题,2003的版本会比较繁琐一些。先要转成HTML,再从HTMl转成PDF,转成PDF之后要加上水印,之后再在加了水印的PDF上套红,嗯,下面说一些步骤:
2003版本:
- 首先获取要预览的文件;
- 把该文件转成html文件,再插入我们套红的HTML代码;
- 把该HTML转成PDF
- 增加水印
2007版本:
- 直接调用方法把word文档转成pdf即可。
下面上代码:
word2003文件转HTML:
/**
* 2003版本word转换成html
* @param sourceFileName:要转化的文件地址
* @param imagePath:临时存放图片的路径
* @param htmlName:html文件的路径
*/
public static String Word03ToHtml(final String sourceFileName, final String imagePath,String htmlName) throws IOException, TransformerException, ParserConfigurationException {
File sourceFile = new File(sourceFileName);
InputStream input = new FileInputStream(sourceFile);
HWPFDocument wordDocument = new HWPFDocument(input);
WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument());
//设置图片存放的位置
wordToHtmlConverter.setPicturesManager(new PicturesManager() {
public String savePicture(byte[] content, PictureType pictureType, String suggestedName, float widthInches, float heightInches) {
File imgPath = new File(imagePath);
if(!imgPath.exists()){//图片目录不存在则创建
imgPath.mkdirs();
}
File file = new File(imagePath + suggestedName);
try {
OutputStream os = new FileOutpu