العمل مع بيانات وصفية لملف PDF

الحصول على معلومات ملف PDF

للحصول على معلومات محددة عن ملف PDF، أولاً احصل على كائن DocumentInfo باستخدام فئة Document getInfo(). بمجرد استرجاع كائن 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 لـ Java لك بإعداد معلومات خاصة بالملف لملف PDF، مثل المؤلف، وتاريخ الإنشاء، والموضوع، والعنوان.

لإعداد هذه المعلومات:

  1. أنشئ كائن DocumentInfo.
  2. قم بتعيين قيم الخصائص.
  3. احفظ المستند المحدث باستخدام طريقة save() الخاصة بفئة Document.

يوضح لك مقطع الشيفرة التالي كيفية إعداد معلومات ملف 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 Information");
        docInfo.setTitle("Setting PDF Document Information");

        // حفظ المستند الناتج
        pdfDocument.save(_dataDir + "SetFileInfo_out.pdf");
    }

الحصول على بيانات XMP الوصفية من ملف PDF

تتيح لك Aspose.PDF for Java الوصول إلى بيانات XMP الوصفية لملف PDF.

للحصول على بيانات وصفية لملف 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"));

    }

تعيين بيانات XMP الوصفية في ملف PDF

تتيح لك Aspose.PDF for Java تعيين البيانات الوصفية في ملف PDF. لتعيين البيانات الوصفية:

  1. أنشئ كائن Document.
  2. قم بتعيين قيم البيانات الوصفية باستخدام خاصية getMetadata().
  3. احفظ المستند المحدث باستخدام طريقة save() الخاصة بكائن Document.

يوضح لك مقتطف الشيفرة التالي كيفية تعيين البيانات الوصفية في ملف 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");
    }
}