استخراج پیوست ها از PDF از طریق C++

نحوه استخراج پیوست ها از PDF به صورت برنامه نویسی با C++

چگونگی استخراج پیوست ها با استفاده از C++ کتابخانه

به منظور استخراج پیوست ها در فایل PDF، از API Aspose.PDF برای C++ استفاده خواهیم کرد که یک API دستکاری اسناد غنی، قدرتمند و آسان برای استفاده برای پلتفرم cpp است. مدیر بسته NuGet را باز کنید، aspose.pdf را جستجو کرده و نصب کنید. شما همچنین می توانید از دستور زیر از کنسول مدیریت بسته استفاده کنید.

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

استخراج پیوست ها از PDF C++


شما نیاز به Aspose.PDF برای C++ به سعی کنید کد در محیط شما.

۱. دریافت مجموعه فایل های جاسازی شده. ۱. تعداد فایل های جاسازی شده را دریافت کنید. ۱. حلقه را از طریق مجموعه برای دریافت تمام پیوست ها. ۱. بررسی کنید که آیا شی پارامتر شامل پارامترها است یا خیر. ۱. پیوست را دریافت کرده و در پرونده یا استریم بنویسید.

استخراج پیوست از سند PDF

// Open document
auto pdfDocument = new Document(_dataDir + u"GetAlltheAttachments.pdf");

// Get embedded files collection
auto embeddedFiles = pdfDocument->get_EmbeddedFiles();

// Get count of the embedded files
Console::WriteLine(u"Total files : {0}", embeddedFiles->get_Count());

int count = 1;

// Loop through the collection to get all the attachments
for (auto fileSpecification : embeddedFiles)
{
	Console::WriteLine(u"Name: {0}", 
		fileSpecification->get_Name());
	Console::WriteLine(u"Description: {0}", 
		fileSpecification->get_Description());
	Console::WriteLine(u"Mime Type: {0}", 
		fileSpecification->get_MIMEType());

	// Check if parameter object contains the parameters
	if (fileSpecification->get_Params() != nullptr)
	{
	Console::WriteLine(u"CheckSum: {0}",
		fileSpecification->get_Params()->get_CheckSum());
	Console::WriteLine(u"Creation Date: {0}",
		fileSpecification->get_Params()->get_CreationDate());
	Console::WriteLine(u"Modification Date: {0}",
		fileSpecification->get_Params()->get_ModDate());
	Console::WriteLine(u"Size: {0}", 
		fileSpecification->get_Params()->get_Size());
}

// Get the attachment and write to file or stream
auto fileContent = MakeArray<uint8_t>(fileSpecification->get_Contents()->get_Length());
fileSpecification->get_Contents()->Read(fileContent, 0, fileContent->get_Length());
auto fileStream = System::IO::File::OpenWrite(_dataDir + u"test" + count + u"_out.txt");
fileStream->Write(fileContent, 0, fileContent->get_Length());
fileStream->Close();
count += 1;
}