【问题标题】:Read a PDF file and save it again as PDF with Java/Liferay使用 Java/Liferay 读取 PDF 文件并再次将其保存为 PDF
【发布时间】:2018-01-20 18:28:05
【问题描述】:

有人可以给我一些想法来阅读 PDF 文件以使其可编辑,然后在 Java 中再次将其另存为 PDF 吗?这是否可能以一种相当简单的方式并且不使用像 itext 这样的库?它适用于 Liferay 6.2 项目。

非常感谢。

【问题讨论】:

  • 没有内置方法可以在 Java 中编辑 PDF,如果这是您所要求的。您必须使用诸如iTextApache PDFBox 之类的库。 This 问题可能会对您有所帮助。

标签: java liferay liferay-6 portlet


【解决方案1】:

我能够使用 Apache PDFBox 恢复 PDF 文件的文本。在maven项目pom.xml中,我们必须添加依赖

<dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.8</version>
</dependency>

代码:

try {
        DLFileEntry fileEntry = DLFileEntryLocalServiceUtil.getFileEntry(folder.getGroupId(), folder.getFolderId(), fileName);
        File file = DLFileEntryLocalServiceUtil.getFile(themeDisplay.getUserId(), fileEntry.getFileEntryId(), fileEntry.getVersion(), true);
        PDDocument pddDocument=PDDocument.load(file);
        PDFTextStripper textStripper = new PDFTextStripper();
        String text = textStripper.getText(pddDocument);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

要创建 PDF,请参阅文档:

https://pdfbox.apache.org/1.8/cookbook/documentcreation.html

【讨论】:

    【解决方案2】:

    在 Liferay 中进行文档转换的一种非常方便的方法是使用开放式办公室集成。

    DocumentConversionUtil.convert(
            String id, InputStream inputStream, String sourceExtension,
            String targetExtension)
    

    请注意,根据字符的不同,这可能会破坏 PDF UI。如果只是文字,应该没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多