我使用Apache PDFBox的( http://pdfbox.apache.org/ )创建PDF文件出来,包括图片和其他PDF文件的任意量。 现在我需要MS Office文档(Word,Excel和Outlook中的MSG)添加到PDF。 该文件可以有几乎所有的Office版本,所以不授予该文件是一个新的Office文件(例如DOCX)或旧的(例如,文档)。
有没有办法只能用免费工具来做到这一点? 我的第一个想法是阅读与Apache POI每个文件的contnet( http://poi.apache.org/ ),并重新创建该文件作为一个新的PDF页面,但是这可能会变得非常昂贵,因为这PDF创建用于上超过五十人的服务器。
你的服务器上安装开放式办公。 并且它会转换“的docx,文档”文件“.PDF”。
package naveed.workingfiles;
import java.io.*;
import com.artofsolving.jodconverter.openoffice.connection.*;
import com.artofsolving.jodconverter.openoffice.converter.*;
import com.artofsolving.jodconverter.*;
public class DocToPdf {
public static void main(String[] args) throws Exception {
//Creating the instance of OpenOfficeConnection and
//passing the port number to SocketOpenOfficeConnection constructor
OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);
//making the connection with openoffice server
con.connect();
// making the object of doc file and pdf file
File inFile = new File("sample.docx");
//this is the final converted pdf file
File outFile = new File("sample.pdf");
//making the instance
DocumentConverter converter = new OpenOfficeDocumentConverter(con);
//passing both files objects
converter.convert(inFile, outFile);
con.disconnect();
}
}