如何在不拆分表格的情况下将 docx 转换为 PDF

发布于 2025-01-09 00:02:04 字数 645 浏览 1 评论 0原文

我有包含几个表格的动态 docx,我正在尝试转换为 PDF。当我转换为 PDF 时,它涵盖了两页。我使用 Apache POI XWPF 转换器 2.0.2 版本。 在 docx 文件中,一切正常,但是当我转换为 PDF 时,表格会被恶意

有人有任何想法或更好的库来将 docx 转换为 pdf?

PdfOptions options = PdfOptions.getDefault();

options.fontProvider((familyName, encoding, size, style, color) -> {
    try {
        BaseFont baseFont = BaseFont.createFont("fonts/times.ttf", encoding, BaseFont.EMBEDDED);
        return new Font(baseFont, size, style, color);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
});

PdfConverter.getInstance().convert(document, out, options);

I have dynamics docx with few tables and I'm trying to convert to a PDF. When I converted to PDF then it covers two pages. I use Apache POI XWPF converter in 2.0.2 version.
In docx file everything is okey but when I convert to PDF then tables are spited

Someone have any idea or better library to convert docx to pdf?

PdfOptions options = PdfOptions.getDefault();

options.fontProvider((familyName, encoding, size, style, color) -> {
    try {
        BaseFont baseFont = BaseFont.createFont("fonts/times.ttf", encoding, BaseFont.EMBEDDED);
        return new Font(baseFont, size, style, color);
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
});

PdfConverter.getInstance().convert(document, out, options);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光病人 2025-01-16 00:02:04

没有库可以将 doc[x] 文件转换为格式完全正确的 PDF。唯一可以做到这一点的程序是Word 本身。
我通过在 PowerShell 脚本中使用 Word API 实现了这一点:

$document_path = $args[0]
$document_parent_folder = $args[1]
$file_name = $args[2]

$word_app = New-Object -ComObject Word.Application

$document = $word_app.Documents.Open($document_path)

$pdf_filename = "$($document_parent_folder)\$($file_name)"

$document.SaveAs([ref] $pdf_filename, [ref] 17)

$document.Close()

$word_app.Quit()

是的,这不是最好的解决方案,它严重依赖于计算机中安装的 Microsoft Office 以及随之而来的许多其他问题解决方案...但它是唯一能够按照我想要的方式格式化我的文档的解决方案。

该脚本采用三个参数

  1. 将要转换的文档的路径
  2. 文档所在的文件夹
  3. pdf 文件的名称

There is no library to convert a doc[x] file into a completely correctly formatted PDF. The only program that can do that is Word itself.
I have achieved this by using the Word API in a PowerShellscript:

$document_path = $args[0]
$document_parent_folder = $args[1]
$file_name = $args[2]

$word_app = New-Object -ComObject Word.Application

$document = $word_app.Documents.Open($document_path)

$pdf_filename = "$($document_parent_folder)\$($file_name)"

$document.SaveAs([ref] $pdf_filename, [ref] 17)

$document.Close()

$word_app.Quit()

Yes it is not the best solution and it is heavily dependent on having Microsoft Office installed in the machine and a lot of other problems that accompany this solution... But it is the only solution that formatted my documents exactly how I wanted them.

The script takes three arguments

  1. The path of the document that will be converted
  2. The folder where it is located
  3. The name of the pdf file
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文