ویرایش متادیتاهای فایل‌های PDF با استفاده از جاوا

متاداده یک سند شامل اطلاعات پایه در مورد سند به شکل ویژگی‌هایی مانند عنوان، نویسنده، موضوع، کلیدواژه‌ها و غیره است. پلتفرم متاداده قابل گسترش (XMP) یک استاندارد مبتنی بر XML برای ذخیره متاداده سند به صورت جفت کلید/مقدار است. ما می‌توانیم اطلاعات سند و متاداده XMP یک سند PDF را به صورت برنامه‌نویسی اضافه، ویرایش یا خوانده کنیم. در این مقاله، یاد خواهیم گرفت که چگونه ویژگی‌ها و متاداده PDF را با استفاده از Java ویرایش کنیم.

موضوعات زیر در این مقاله پوشش داده خواهد شد:

API Java برای ویرایش خواص و فراداده 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 است ویرایش کنیم. ما می‌توانیم با دنبال کردن مراحل زیر، خواص پیش‌تعریف شده مختلفی را تنظیم کنیم:

  1. نخست، یک سند PDF را با استفاده از کلاس PdfFileInfo بارگذاری کنید.
  2. خصوصیات مختلفی مانند نویسنده، سازنده، کلمات کلیدی، موضوع، عنوان و غیره را تنظیم کنید.
  3. Finally, save the PDF file using the saveNewInfo() method with the output file path as an argument.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان ویژگی‌های متا یک فایل PDF را با استفاده از Java ویرایش کرد.

// این مثال کد نشان می‌دهد که چگونه اطلاعات پایه یک سند PDF را تنظیم کنیم.
// Open source document
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 در جاوا.

Edit Meta Properties of a PDF File in Java.

خواندن ویژگی‌های PDF با استفاده از Java

ما می‌توانیم اطلاعات پایه یک سند PDF را با دنبال کردن مراحل زیر بخوانیم:

  1. نخست، یک سند PDF را با استفاده از کلاس PdfFileInfo بارگذاری کنید.
  2. سرانجام، با خواندن مقادیر ویژگی‌های متا، اطلاعات سند را نشان دهید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان ویژگی‌های متا یک فایل PDF را با استفاده از Java استخراج کرد.

// این مثال کد نشان می‌دهد که چگونه می‌توان اطلاعات پایه یک سند PDF را دریافت کرد.
// Open document
PdfFileInfo fileInfo = new PdfFileInfo("D:\\Files\\PDF\\Updated_Info_output.pdf");

// Get PDF information
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());

// Find whether is it valid PDF and it is encrypted as well
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 را با دنبال کردن مراحل زیر بخوانیم:

  1. ابتدا یک سند PDF را با استفاده از کلاس Document بارگذاری کنید.
  2. در نهایت، متاداده را با استفاده از روش getItem() کلاس Metadata بخوانید و اطلاعات را استخراج کنید.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان متاداده XMP یک فایل PDF را با استفاده از Java دریافت کرد.

// این مثال کد نشان می‌دهد که چگونه متاداده XMP یک سند PDF را دریافت کنیم.
// Open document
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

در فایل PDF در Java متادیتای XMP را تنظیم کنید

ما می توانیم با دنبال کردن مراحل زیر، فراداده XMP را در یک فایل PDF تنظیم کنیم:

  1. ابتدا یک سند PDF را با استفاده از کلاس Document بارگذاری کنید.
  2. در مرحله بعد، مقادیر متادیتا را با استفاده از روش setItem() کلاس Metadata تنظیم کنید.
  3. نهایتا، فایل PDF را با استفاده از Document.save() متد و با مسیر فایل خروجی به عنوان پارامتر ذخیره کنید.

کد نمونه زیر نشان می‌دهد که چگونه می‌توان متادیتای XMP یک فایل PDF را با استفاده از Java تنظیم کرد.

// این مثال کد نشان می‌دهد که چگونه متاداده XMP یک سند PDF را تنظیم کنیم.
// Open document
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 سفارشی کنید

ما می‌توانیم به جای مشخصات XMP تعریف شده، URI فضای نام سفارشی را در یک فایل PDF تنظیم کنیم. برای این منظور، API متد registerNamespaceUri را در کلاس Metadata فراهم می‌کند. ما می‌توانیم با دنبال کردن مراحل زیر، یک فضای نام متادیتای جدید با یک پیشوند ایجاد کنیم:

  1. Firstly, load a PDF document using the Document class.
  2. در مرحله بعد، متد registerNamespaceUri() را با یک پیشوند و URI فضای نام به عنوان آرگومان‌ها فراخوانی کنید.
  3. سپس، مقادیر متا داده را با استفاده از setItem() روش تنظیم کنید.
  4. Finally, save the PDF file using the Document.Save() method with the output file path as an argument.

نمونه کد زیر نشان می‌دهد که چگونه می‌توان فضای نام متاداده سفارشی را در یک فایل PDF با استفاده از Java تنظیم کرد.

// این مثال کد نشان می‌دهد که چگونه متاداده XMP سفارشی یک سند PDF را تنظیم کنیم.
// Open document
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"));

// Save document
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

شما می‌توانید با درخواست a free temporary license بدون محدودیت‌های ارزیابی API را امتحان کنید.

نتیجه‌گیری

در این مقاله، ما یاد گرفته‌ایم که چگونه:

  • add/ edit the basic information of a PDF document using Java;
  • set/ get the XMP metadata in a PDF file using Java;
  • set custom metadata namespace URI with a prefix.

علاوه بر این، می‌توانید اطلاعات بیشتری درباره Aspose.PDF for Java API از طریق documentation یاد بگیرید. در صورت هر گونه ابهام، لطفاً بدون شک با ما در forum تماس بگیرید.

به همچنین نگاه کنید