
Метаданные документа содержат основную информацию о документе в виде таких свойств, как заголовок, автор, тема, ключевые слова и т. д. Расширяемая платформа метаданных (XMP) — это стандарт на основе XML для хранения метаданных документа в виде пары «ключ-значение». пара. Мы можем программно добавлять, редактировать или читать информацию о документе и метаданные XMP документа PDF. В этой статье мы узнаем, как редактировать свойства и метаданные PDF с помощью Java.
В этой статье должны быть раскрыты следующие темы:
- Java API для редактирования свойств PDF и метаданных
- Редактировать свойства PDF с помощью Java
- Чтение свойств PDF с помощью Java
- Получить метаданные XMP из файла PDF
- Установить метаданные XMP в файл PDF
- Настройка пространства имен метаданных XMP в файле PDF
Java API для редактирования свойств PDF и метаданных
Для редактирования свойств PDF и метаданных мы будем использовать Aspose.PDF for Java API. Это позволяет нам создавать, изменять, преобразовывать, отображать, защищать и печатать поддерживаемые документы без использования Adobe Acrobat. Пожалуйста, либо загрузите JAR API, либо добавьте следующую конфигурацию pom.xml в приложение Java на основе Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.3</version>
</dependency>
Редактировать свойства PDF с помощью Java
Мы можем редактировать информацию PDF-документа, используя класс PdfFileInfo, который представляет метаинформацию PDF-документа. Мы можем установить различные предопределенные свойства, выполнив следующие шаги:
- Во-первых, загрузите документ PDF с помощью класса PdfFileInfo.
- Установите различные свойства, такие как автор, создатель, ключевые слова, тема, заголовок и т. д.
- Наконец, сохраните файл PDF с помощью метода saveNewInfo() с путем к выходному файлу в качестве аргумента.
В следующем примере кода показано, как редактировать метасвойства файла PDF с помощью Java.
// В этом примере кода показано, как установить основную информацию документа PDF.
// Документ с открытым исходным кодом
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\sample.pdf");
// Установить информацию PDF
fileInfo.setAuthor("Aspose");
fileInfo.setTitle("Editing Metadata");
fileInfo.setKeywords("Aspose.Pdf, DOM, API");
fileInfo.setSubject("PDF Information");
fileInfo.setCreator("Aspose");
// Сохранить обновленный файл
fileInfo.saveNewInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

Редактировать мета-свойства PDF-файла в Java.
Чтение свойств PDF с помощью Java
Мы можем прочитать основную информацию о PDF-документе, выполнив следующие шаги:
- Во-первых, загрузите документ PDF с помощью класса PdfFileInfo.
- Наконец, покажите информацию о документе, прочитав значения мета-свойств.
В следующем примере кода показано, как получить мета-свойства файла PDF с помощью Java.
// В этом примере кода показано, как получить основную информацию о документе PDF.
// Открыть документ
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");
// Получить информацию в формате PDF
System.out.println("Subject :" + fileInfo.getSubject());
System.out.println("Title :" + fileInfo.getTitle());
System.out.println("Keywords :" + fileInfo.getKeywords());
System.out.println("Creator :" + fileInfo.getCreator());
System.out.println("Creation Date :" + fileInfo.getCreationDate());
System.out.println("Modification Date :" + fileInfo.getModDate());
// Найдите, является ли это действительным PDF, и он также зашифрован
System.out.println("Is Valid PDF :" + fileInfo.isPdfFile());
// в случае, если файл зашифрован, вам необходимо указать пароль для открытия файла
// как второй аргумент конструктора PdfFileInfo
System.out.println("Is Encrypted :" + fileInfo.isEncrypted());
Subject :PDF Information
Title :Editing Metadata
Keywords :Aspose.Pdf, DOM, API
Creator :Aspose
Creation Date :D:20170612160123-04'00'
Modification Date :D:20220405214422+05'00'
Is Valid PDF :true
Is Encrypted :false
Получить метаданные XMP файла PDF в Java
Мы можем прочитать метаданные XMP документа PDF, выполнив следующие действия:
- Во-первых, загрузите документ PDF с помощью класса Document.
- Наконец, прочитайте метаданные с помощью метода getItem() класса Metadata и извлеките информацию.
В следующем примере кода показано, как получить метаданные XMP файла PDF с помощью Java.
// В этом примере кода показано, как получить метаданные XMP документа PDF.
// Открыть документ
Document pdfDocument = new Document("D:\\Files\\PDF\\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"));
xmp:CreateDate : 2022-04-05T10:05:24.4
xmp:Nickname : Nickname
xmp:CustomProperty : Custom Value
Установите метаданные XMP в файл PDF в Java
Мы можем установить метаданные XMP в файле PDF, выполнив следующие действия:
- Во-первых, загрузите документ PDF с помощью класса Document.
- Затем установите значения метаданных с помощью метода setItem() класса Metadata.
- Наконец, сохраните файл PDF с помощью метода Document.save() с путем к выходному файлу в качестве аргумента.
В следующем примере кода показано, как установить метаданные XMP файла PDF с помощью Java.
// В этом примере кода показано, как задать метаданные XMP документа PDF.
// Открыть документ
Document pdfDocument = new Document("D:\\Files\\PDF\\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("D:\\Files\\PDF\\SetXMPMetadata.pdf");
Настройка пространства имен метаданных XMP в файле PDF
Мы можем установить настраиваемый URI пространства имен вместо определенных спецификаций XMP в файле PDF. Для этой цели API предоставляет метод registerNamespaceUri в классе Metadata. Мы можем создать новое пространство имен метаданных с префиксом, выполнив следующие шаги:
- Во-первых, загрузите документ PDF с помощью класса Document.
- Затем вызовите метод registerNamespaceUri() с префиксом и URI пространства имен в качестве аргументов.
- Затем установите значения метаданных с помощью метода setItem().
- Наконец, сохраните файл PDF с помощью метода Document.Save() с путем к выходному файлу в качестве аргумента.
В следующем примере кода показано, как задать пользовательское пространство имен метаданных в файле PDF с помощью Java.
// В этом примере кода показано, как установить настраиваемые метаданные XMP для документа PDF.
// Открыть документ
Document pdfDocument = new Document("D:\\Files\\PDF\\sample.pdf");
// Установить индивидуальные свойства
pdfDocument.getMetadata().registerNamespaceUri("myown", "http:// myown.xyz.com/xap/1.0/");
pdfDocument.getMetadata().set_Item("myown:ModifyDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:CreateDate", new XmpValue(new java.util.Date()));
pdfDocument.getMetadata().set_Item("myown:DeveloperName", new XmpValue("Developer Name"));
pdfDocument.getMetadata().set_Item("myown:MyProperty", new XmpValue("My Custom Value"));
// Сохранить документ
pdfDocument.save("D:\\Files\\PDF\\CustomizedXMPMetadata.pdf");
Мы можем прочитать настроенные свойства метаданных XMP, выполнив шаги, упомянутые ранее.
NamespaceUri: http:// myown.xyz.com/xap/1.0/
myown:ModifyDate: 2022-04-05T10:18:45.9
myown:CreateDate: 2022-04-05T10:18:45.9
myown:DeveloperName: Developer Name
myown:MyProperty: My Custom Value
Получите бесплатную лицензию API
Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.
Вывод
В этой статье мы узнали, как:
- добавлять/редактировать основную информацию PDF-документа с помощью Java;
- установить/получить метаданные XMP в файле PDF с помощью Java;
- установить URI пользовательского пространства имен метаданных с префиксом.
Кроме того, вы можете узнать больше об Aspose.PDF для Java API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.