استخراج وحفظ مرفق
Contents
[
Hide
]
الحصول على كل المرفقات
مع Aspose.PDF، من الممكن الحصول على كل المرفقات من مستند PDF. هذا مفيد إما عندما تريد حفظ المستندات بشكل منفصل عن مستند PDF، أو إذا كنت بحاجة إلى إزالة المرفقات من مستند PDF.
للحصول على كل المرفقات من ملف PDF:
- تصفح مجموعة EmbeddedFiles لكائن Document. تحتوي مجموعة EmbeddedFiles على كل المرفقات. كل عنصر في هذه المجموعة يمثل كائن FileSpecification. كل تكرار في حلقة foreach عبر مجموعة EmbeddedFiles يعيد كائن FileSpecification.
الشفرات التالية توضح كيفية الحصول على جميع المرفقات من مستند PDF.
الشفرة التالية تعمل أيضًا مع مكتبة Aspose.PDF.Drawing.
// للأمثلة الكاملة وملفات البيانات، الرجاء زيارة https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// المسار إلى دليل المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_Attachments();
// فتح المستند
Document pdfDocument = new Document(dataDir + "GetAlltheAttachments.pdf");
// الحصول على مجموعة الملفات المضمنة
EmbeddedFileCollection embeddedFiles = pdfDocument.EmbeddedFiles;
// الحصول على عدد الملفات المضمنة
Console.WriteLine("إجمالي الملفات : {0}", embeddedFiles.Count);
int count = 1;
// التكرار خلال المجموعة للحصول على جميع المرفقات
foreach (FileSpecification fileSpecification in embeddedFiles)
{
Console.WriteLine("الاسم: {0}", fileSpecification.Name);
Console.WriteLine("الوصف: {0}",
fileSpecification.Description);
Console.WriteLine("نوع MIME: {0}", fileSpecification.MIMEType);
// التحقق إذا كان الكائن العامل يحتوي على الأوامر
if (fileSpecification.Params != null)
{
Console.WriteLine("المجموع: {0}",
fileSpecification.Params.CheckSum);
Console.WriteLine("تاريخ الإنشاء: {0}",
fileSpecification.Params.CreationDate);
Console.WriteLine("تاريخ التعديل: {0}",
fileSpecification.Params.ModDate);
Console.WriteLine("الحجم: {0}", fileSpecification.Params.Size);
}
// الحصول على المرفق وكتابته إلى ملف أو تيار
byte[] fileContent = new byte[fileSpecification.Contents.Length];
fileSpecification.Contents.Read(fileContent, 0,
fileContent.Length);
FileStream fileStream = new FileStream(dataDir + count + "_out" + ".txt",
FileMode.Create);
fileStream.Write(fileContent, 0, fileContent.Length);
fileStream.Close();
count+=1;
}
الحصول على مرفق فردي
للحصول على مرفق فردي، يمكننا تحديد مؤشر المرفق في كائن EmbeddedFiles
لمثيل المستند. يرجى استخدام قطعة الكود التالية.
// للأمثلة الكاملة وملفات البيانات، يرجى الذهاب إلى https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// مسار إلى مجلد المستندات.
string dataDir = RunExamples.GetDataDir_AsposePdf_Attachments();
// فتح المستند
Document pdfDocument = new Document(dataDir + "GetIndividualAttachment.pdf");
// الحصول على الملف المضمن المحدد
FileSpecification fileSpecification = pdfDocument.EmbeddedFiles[1];
// الحصول على خصائص الملف
Console.WriteLine("الاسم: {0}", fileSpecification.Name);
Console.WriteLine("الوصف: {0}", fileSpecification.Description);
Console.WriteLine("نوع MIME: {0}", fileSpecification.MIMEType);
// التحقق إذا كان كائن البارامتر يحتوي على البارامترات
if (fileSpecification.Params != null)
{
Console.WriteLine("التحقق: {0}",
fileSpecification.Params.CheckSum);
Console.WriteLine("تاريخ الإنشاء: {0}",
fileSpecification.Params.CreationDate);
Console.WriteLine("تاريخ التعديل: {0}",
fileSpecification.Params.ModDate);
Console.WriteLine("الحجم: {0}", fileSpecification.Params.Size);
}
// الحصول على المرفق وكتابته إلى ملف أو تيار
byte[] fileContent = new byte[fileSpecification.Contents.Length];
fileSpecification.Contents.Read(fileContent, 0, fileContent.Length);
FileStream fileStream = new FileStream(dataDir + "test_out" + ".txt", FileMode.Create);
fileStream.Write(fileContent, 0, fileContent.Length);
fileStream.Close();