Use the sample source code below to extract attachments (embedded files) from PDF with Bytescout PDF Extractor SDK.
Select your programming language:
using System; using System.Data; using System.Configuration; using System.Collections; using System.IO; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Bytescout.PDFExtractor; namespace ExtractInfo { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // This test file will be copied to the project directory on the pre-build event (see the project properties). String inputFile = Server.MapPath("attachments.pdf"); // Create Bytescout.PDFExtractor.AttachmentExtractor instance AttachmentExtractor extractor = new AttachmentExtractor(); extractor.RegistrationName = "demo"; extractor.RegistrationKey = "demo"; // Load sample PDF document extractor.LoadDocumentFromFile(inputFile); Response.Clear(); Response.ContentType = "text/html"; for (int i = 0; i < extractor.Count; i++) { Response.WriteLine("Saving attachment: " + extractor.GetFileName(i) + " "); // extractor.Save (i, extractor.GetFileName(i)); // you can save into temp folder or save to Stream object to avoid temp files Response.WriteLine("File size: " + extractor.GetSize(i).ToString() + " "); } Response.End(); } } }
using System; using Bytescout.PDFExtractor; namespace ExtractInfo { class Program { static void Main(string[] args) { // Create Bytescout.PDFExtractor.AttachmentExtractor instance AttachmentExtractor extractor = new AttachmentExtractor(); extractor.RegistrationName = "demo"; extractor.RegistrationKey = "demo"; // Load sample PDF document extractor.LoadDocumentFromFile("attachments.pdf"); for (int i = 0; i < extractor.Count; i++) { Console.WriteLine("Saving attachment:t" + extractor.GetFileName(i)); // save file into the current folder extractor.Save(i, extractor.GetFileName(i)); Console.WriteLine("Done."); } Console.WriteLine(); Console.WriteLine("Press any key to continue..."); Console.ReadLine(); } } }
Imports Bytescout.PDFExtractor Class Program Friend Shared Sub Main(args As String()) ' Create Bytescout.PDFExtractor.AttachmentExtractor instance Dim extractor As New AttachmentExtractor() extractor.RegistrationName = "demo" extractor.RegistrationKey = "demo" ' Load sample PDF document extractor.LoadDocumentFromFile("attachments.pdf") For i = 0 to extractor.Count-1 Console.WriteLine("Save attachment: " + extractor.GetFileName(i)) Extractor.Save i, extractor.GetFileName (i) ' save into the current folder Console.WriteLine("Done") Next Console.WriteLine("Press any key to continue...") Console.ReadLine() End Sub End Class
' Create Bytescout.PDFExtractor.AttachmentExtractor object Set AttachmentExtractor = CreateObject("Bytescout.PDFExtractor.AttachmentExtractor") AttachmentExtractor.RegistrationName = "demo" AttachmentExtractor.RegistrationKey = "demo" ' Load sample PDF document with embedded attachments AttachmentExtractor.LoadDocumentFromFile("....attachments.pdf") ' walk through attachments and save them For I = 0 To AttachmentExtractor.Count-1 AttachmentExtractor.Save i, AttachmentExtractor.GetFileName (I) ' save in the current folder with original filename Next MsgBox "Done: " & CStr(AttachmentExtractor.Count) & " attachments extracted" Set extractor = Nothing