// 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;
}