gpt4 book ai didi

java - 使用 open office 将 excel (.xlsx) 转换为 pdf (.pdf) 时缺少工作表和页面大小问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:59:59 25 4
gpt4 key购买 nike

我已经使用 JodConverterOpen-Office 创建了一个应用程序,用于将 excel(.xlsx) 转换为 PDF,应用程序运行良好,但我面临两个问题

  1. 输出的 PDF 页面为 A4 大小,因为某些工作表内容已被切掉。因为我希望 Excel 的每个工作表无论大小都像一页一样完整。

  2. 缺少工作表的数量,如果我的 excel 有 8 个工作表,我在 PDF 输出中只得到两个或三个

即使我们尝试直接从 open-office 转换为 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();
}

最佳答案

我使用(免费的)PrimoPDF 打印机驱动程序直接从 Excel 中创建 PDF。大量页面(20+)是由于其中一个工作表中缺少“适合页面”打印选项,如果我没记错的话是第 3 个。更正此问题后,打印所有工作表的命令仍会生成 2 个 PDF 文件。 PrimoPDF 两次询问文件名,而它应该只询问一次。我假设您的程序只生成与第一部分对应的 PDF,因为通常只应生成一个 PDF。我对两部分打印没有任何解释。这可能是由于其中一个工作表中的某些打印设置强制以“两批处理”执行打印。例如,不同的分辨率值可能会阻止一批打印。结论:解决方法是使用 PrimoPDF 打印并使用网络上免费提供的程序之一连接 2 个 PDF 文件。要获得持久的解决方案,您必须详细验证所有工作表的打印设置并确保它们相等。

关于java - 使用 open office 将 excel (.xlsx) 转换为 pdf (.pdf) 时缺少工作表和页面大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24270546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com