العمل مع الحافظة في مستندات PDF
أولاً، دعونا نكتشف ما هو تنسيق ملف حافظة PDF؟
على سبيل المثال، خذ ملف حافظة PDF يحتوي على مستند Word، وعرض تقديمي Excel، وPowerPoint وغيرها، كمرفقات. هنا يحتفظ كل ملف مرفق بتنسيق المستند الأصلي الخاص به، ولكنه مضمّن أو مجمع في ملف حافظة PDF واحد. يمكنك بالطبع فتح وقراءة أو تعديل كل ملف فردي من حافظة PDF كما لو كان على محرك أقراص أو مجلد. بالإضافة إلى ذلك، تمامًا مثل مستند PDF العادي، يمكنك أيضًا تطبيق العلامة المائية، وتعيين كلمات المرور وتصاريح الأمان مثل القدرة على العرض أو الطباعة أو إجراء تغييرات على مرفقات حافظة PDF.
يمكننا وضع أو تجميع الملفات الأصلية، في نوعها أو تنسيقاتها الأصلية كمرفقات، في ملف حافظة PDF.
كيفية إنشاء محفظة PDF
تسمح Aspose.PDF بإنشاء مستندات محفظة PDF باستخدام فئة Document. أضف ملفًا إلى كائن Document.Collection بعد الحصول عليه باستخدام فئة FileSpecification. عند إضافة الملفات، استخدم طريقة الحفظ لفئة Document لحفظ مستند المحفظة.
يستخدم المثال التالي ملف Microsoft Excel، ومستند Word، وملف صورة لإنشاء محفظة PDF.
النص البرمجي أدناه ينتج المحفظة التالية.
محفظة PDF تم إنشاؤها باستخدام Aspose.PDF
public static void CreatePortfolio() throws IOException {
// إنشاء كائن المستند
Document pdfDocument = new Document();
// إنشاء كائن مجموعة المستندات
pdfDocument.setCollection(new Collection());
// الحصول على الملفات لإضافتها إلى المحفظة
FileSpecification excel = new FileSpecification(_dataDir + "HelloWorld.xlsx");
FileSpecification word = new FileSpecification(_dataDir + "HelloWorld.docx");
FileSpecification image = new FileSpecification(_dataDir + "aspose-logo.jpg");
// توفير وصف للملفات
excel.setDescription ("ملف Excel");
word.setDescription ("ملف Word");
image.setDescription ("ملف صورة");
// إضافة الملفات إلى مجموعة المستندات
pdfDocument.getCollection().add(excel);
pdfDocument.getCollection().add(word);
pdfDocument.getCollection().add(image);
// حفظ مستند المحفظة
pdfDocument.save(_dataDir + "CreatePDFPortfolio_out.pdf");
}
استخراج الملفات من PDF Portfolio
تسمح لك PDF Portfolios بتجميع المحتوى من مجموعة متنوعة من المصادر (على سبيل المثال، PDF، Word، Excel، ملفات JPEG) في حاوية موحدة واحدة. تحتفظ الملفات الأصلية بهوياتها الفردية ولكن يتم تجميعها في ملف PDF Portfolio. يمكن للمستخدمين فتح وقراءة وتحرير وتنسيق كل ملف مكون بشكل مستقل عن الملفات المكونة الأخرى.
يسمح Aspose.PDF بإنشاء مستندات PDF Portfolio باستخدام فئة Document. كما يوفر القدرة على استخراج الملفات من PDF Portfolio.
يعرض لك المقتطف البرمجي التالي الخطوات لاستخراج الملفات من PDF Portfolio.
public static void ExtractPortfolio() throws IOException {
// افتح مستند
Document pdfDocument = new Document(_dataDir + "PDFPortfolio.pdf");
// احصل على مجموعة الملفات المضمنة
EmbeddedFileCollection embeddedFiles = pdfDocument.getEmbeddedFiles();
// التنقل عبر الملف الفردي للـ Portfolio
for (FileSpecification fileSpecification : embeddedFiles) {
InputStream initialStream = fileSpecification.getContents();
byte[] buffer = new byte[fileSpecification.getContents().available()];
initialStream.read(buffer);
File targetFile = new File(_dataDir + fileSpecification.getName());
OutputStream outStream = new FileOutputStream(targetFile);
outStream.write(buffer);
outStream.close();
}
}
إزالة الملفات من محفظة PDF
لحذف/إزالة الملفات من محفظة PDF، حاول استخدام أسطر الكود التالية.
public static void RemoveFilesFromPDFPortfolio() {
// تحميل محفظة PDF المصدر
Document pdfDocument = new Document(_dataDir + "PDFPortfolio.pdf");
pdfDocument.getCollection().delete();
pdfDocument.save(_dataDir + "No_PortFolio_out.pdf");
}