استخراج پیوست ها از سند پی دی اف از طریق 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;
	}