使用PDF文件元数据

获取PDF文件信息

要获取有关PDF文件的特定信息,首先使用Document类的getInfo()方法获取DocumentInfo对象。一旦检索到DocumentInfo对象,就可以获取各个属性的值。

以下代码片段展示了如何设置PDF文件信息。

public class ExampleMetadata {

    private static String _dataDir = "/home/aspose/pdf-examples/Samples/Metadata/";

    public static void GetPDFFileInformation() {
        // 创建一个新的PDF文档
        Document pdfDocument = new Document(_dataDir + "sample.pdf");
        // 获取文档信息
        DocumentInfo docInfo = pdfDocument.getInfo();
        // 显示文档信息
        System.out.println("作者: " + docInfo.getAuthor());
        System.out.println("创建日期: " + docInfo.getCreationDate());
        System.out.println("关键词: " + docInfo.getKeywords());
        System.out.println("修改日期: " + docInfo.getModDate());
        System.out.println("主题: " + docInfo.getSubject());
        System.out.println("标题: " + docInfo.getTitle());
    }

设置 PDF 文件信息

Aspose.PDF for Java 允许您为 PDF 设置特定于文件的信息,例如作者、创建日期、主题和标题。

要设置此信息:

  1. 创建一个 DocumentInfo 对象。
  2. 设置属性的值。
  3. 使用 Document 类的 save() 方法保存更新后的文档。

以下代码片段向您展示如何设置 PDF 文件信息。

 public static void SetPDFFileInformation() {
        // 打开文档
        Document pdfDocument = new Document(_dataDir + "sample.pdf");

        // 指定文档信息
        DocumentInfo docInfo = new DocumentInfo(pdfDocument);

        docInfo.setAuthor("Aspose");
        docInfo.setCreationDate(new java.util.Date());
        docInfo.setKeywords("Aspose.Pdf, DOM, API");
        docInfo.setModDate(new java.util.Date());
        docInfo.setSubject("PDF 信息");
        docInfo.setTitle("设置 PDF 文档信息");

        // 保存输出文档
        pdfDocument.save(_dataDir + "SetFileInfo_out.pdf");
    }

从 PDF 文件获取 XMP 元数据

Aspose.PDF for Java 允许您访问 PDF 文件的 XMP 元数据。

要获取 PDF 文件的元数据,

  1. 创建一个 Document 对象并打开输入的 PDF 文件。
  2. 使用 getMetadata() 属性来获取元数据。

以下代码片段向您展示了如何从 PDF 文件中获取元数据。

   public static void GetXMPMetadata() {

        // 打开文档
        Document pdfDocument = new Document(_dataDir + "SetXMPMetadata.pdf");

        System.out.println("xmp:CreateDate: " + pdfDocument.getMetadata().get_Item("xmp:CreateDate"));
        System.out.println("xmp:Nickname: " + pdfDocument.getMetadata().get_Item("xmp:Nickname"));
        System.out.println("xmp:CustomProperty: " + pdfDocument.getMetadata().get_Item("xmp:CustomProperty"));

    }

在 PDF 文件中设置 XMP 元数据

Aspose.PDF for Java 允许您在 PDF 文件中设置元数据。 设置元数据:

  1. 创建一个 Document 对象。
  2. 使用 getMetadata() 属性设置元数据值。
  3. 使用 Document 对象的 save() 方法保存更新后的文档。

以下代码片段展示了如何在 PDF 文件中设置元数据。

    public static void SetXMPMetadata() {

        // 打开文档
        Document pdfDocument = new Document(_dataDir + "sample.pdf");

        // 设置属性
        pdfDocument.getMetadata().set_Item("xmp:CreateDate", new XmpValue(new java.util.Date()));
        pdfDocument.getMetadata().set_Item("xmp:Nickname", new XmpValue("Nickname"));
        pdfDocument.getMetadata().set_Item("xmp:CustomProperty", new XmpValue("Custom Value"));

        // 保存文档
        pdfDocument.save(_dataDir + "SetXMPMetadata.pdf");
    }

插入带前缀的元数据

一些开发人员需要创建一个带有前缀的新元数据命名空间。以下代码片段展示了如何插入带前缀的元数据。

    public static void InsertMetadataWithPrefix() {
        // 打开文档
        Document pdfDocument = new Document(_dataDir + "SetXMPMetadata.pdf");
        pdfDocument.getMetadata().registerNamespaceUri("adc", "http://tempuri.org/adc/1.0");
        pdfDocument.getMetadata().set_Item("adc:format", new XmpValue("application/pdf"));
        pdfDocument.getMetadata().set_Item("adc:title", new XmpValue("alternative title"));        
        // 保存文档
        pdfDocument.save(_dataDir + "SetPrefixMetadata_out.pdf");
    }
}