2013-05-10 207 views
2

因此我总结了我的问题。我想在使用java时将xls文件转换为PDF。 。 我发现两个例子将xls文件转换为pdf而不用poi或jxl

首先是与OpenOffice的

import officetools.OfficeFile; // from officetools.jar 

FileInputStream fis = new FileInputStream(new File("test.doc")); 
FileOutputStream fos = new FileOutputStream(new File("test.pdf")); 

OfficeFile f = new OfficeFile(fis,"localhost","8100", false); 

f.convert(fos,"pdf"); 

但不幸的是我必须安装它:(

我也觉得这个例子中,用vb两个命令行(调用PDF造物主)

DoCmd.OpenReport "repClient", acViewPreview, "NumClient = 2" 
DoCmd.OutputTo acOutputReport, "PDF", "d: \ test.pdf" 

是有这样的Java的财产以后!!!! (我用我的第一个解决方案(JXL,appach POI),但生成的格式PDF是不喜欢我做的与Microsoft Excel PDF)

认为你保存提前

回答

0

试试这个:

iText

这不是一个转换工具,而是一个创作工具。我认为转换工具是有效的,但是是商业的。

另外,看看this;)。

+0

这个iText就像另一个(jxl和appach poi)浏览所有xls文件并创建为和测量pdf文件或我给他一个iput xls文件并生成一个pdf输出文件? – salvador 2013-05-10 10:21:08

+0

iText不是一个转换工具,它从Java代码本身创建PDF。所以如果你想创建它,我认为你应该先阅读XLS,在Java中创建一些节点并开始写入(不转换)数据。这不完全是你想要的,但希望它有帮助。 – 2013-05-10 10:26:00

+0

:(thx @Asier Aranbarri为你的帮助..我使用了相同的解决方案,但它不能完美的工作(像保存为微软Excel手册)不一样的格式 – salvador 2013-05-10 10:30:33

0

我认为你可以使用

的Apache POI

库流从Excel文档中的数据。你可以通过这个数据流

iText库API。

iText库API绝对具有将流数据写入PDF文件的功能。使用iText,您可以确定PDF格式,因为它在组织中被广泛用于PDF生成。事实上,许多报告工具也使用iText来生成PDF报告。

+0

我以前使用过(“生成PDF格式与xls文件与iText”) ,只是我正在寻找这样的东西,例如一个文件输入xls然后一个instrauction并获得输出文件pdf – salvador 2013-05-10 13:11:10

+0

FileInputStream input_document = new FileInputStream(new File(path)); //这是我的文件xls //将工作簿读入HSSFWorkbook HSSFWorkbook my_xls_workbook = new HSSFWorkbook(input_document); //将工作表读入HSSFSheet HSSFSheet my_worksheet = my_xls_workbook。getSheetAt(0); Document doc = new Document(); PdfWriter.getInstance(doc,new FileOutputStream(“D:// DEQ //”+ selectitem.getRefDeq()+“//Comparatif.pdf”)); doc.open(); doc.there没有methode在这里添加流! – salvador 2013-05-10 13:38:09