Ale*_*Man 10 java pdf openoffice.org xlsx jodconverter
我创建了一个使用JodConverter和Open-Office转换excel(.xlsx)PDF的应用程序,该应用程序工作正常,但我面临两个问题
输出PDF的页面是A4大小的形式,因为某些工作表内容已被切掉.因为我希望excel的每个工作表都像一个页面一样完整.
没有工作表丢失,如果我的excel有8个工作表我在PDF输出中只得到两个或三个
即使我们试图pdf直接从开放办公室转换,它也给出了上述类似的问题
Excel文件 - ss1.xlsx
输出PDF - work.pdf
任何人都可以告诉我一些解决方案
我的代码如下所示
public class MyConverter {
public static void main(String[] args) throws ConnectException {
File inputFile = new File("C:/Users/Work/Desktop/ss1.xlsx");
File outputFile = new File("C:/Users/Work/Desktop/work.pdf");
// connect to an OpenOffice.org instance running on port 8100
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
connection.connect();
// convert
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
// close the connection
connection.disconnect();
}
Run Code Online (Sandbox Code Playgroud)
小智 2
我使用(免费)PrimoPDF 打印机驱动程序直接从 Excel 中创建 PDF。页数较多(20+)是因为其中一张工作表中缺少“适合页面”打印选项,如果我没记错的话,是第三张工作表。更正此问题后,打印所有工作表的命令仍然会生成 2 个 PDF 文件。PrimoPDF 会询问两次文件名,而它应该只询问一次。我假设您的程序只生成与第一部分相对应的 PDF,因为通常只应生成一个 PDF。我对两部分打印没有任何解释。这可能是由于其中一张工作表中的某些打印设置强制分“两批”执行打印。例如,不同的分辨率值可能会阻止批量打印。结论:解决方法是使用 PrimoPDF 进行打印,并使用网络上免费提供的程序之一连接 2 个 PDF 文件。为了获得持久的解决方案,您必须详细验证所有工作表的打印设置并确保它们相同。