How to extract ZUGFeRD Invoice from PDF in ASP.NET, C#, VB.NET and VBScript using PDF Extractor SDK - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

How to extract ZUGFeRD Invoice from PDF in ASP.NET, C#, VB.NET and VBScript using PDF Extractor SDK

  • Home
  • /
  • Articles
  • /
  • How to extract ZUGFeRD Invoice from PDF in ASP.NET, C#, VB.NET and VBScript using PDF Extractor SDK

This tutorial will help you to extract ZUGFeRD Invoice from PDF in ASP.NET, C#, VB.NET and VBScript using ByteScout PDF Extractor SDK.

Select your programming language:

How to extract ZUGFeRD invoice from PDF in ASP.NET

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("Beispielrechnung_ZUGFeRD_RC_COMFORT_neu.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";

            Response.Write("<html><body>\r\n");

            // output the attached XML file
			for (int i = 0; i < extractor.Count; i++)
			{

				Response.Write("Saving XML invoice attachment:       " + extractor.GetFileName(i) + "<br>");
                MemoryStream mem = new MemoryStream();
				Response.Write("File size: " + extractor.GetSize(i).ToString() + "<br>");

                // optionally save XML invoice to a file
                // extractor.Save (i, extractor.GetFileName(i)); // you can save into temp folder or save to Stream object to avoid temp files

                extractor.SaveToStream(i, mem);
                mem.Position = 0; // reset the stream position
                StreamReader sreader = new StreamReader(mem);
                string XMLInvoice = sreader.ReadToEnd(); // xml invoice content

                Response.Write("<textarea rows='20' cols='80'><pre>"+ HttpUtility.HtmlEncode(XMLInvoice) + "</pre></textarea>");

			}

            Response.Write("\r\n</body></html>");

			Response.End();
		}
	}
}

How to extract ZUGFeRD invoice from PDF in C#

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("Beispielrechnung_ZUGFeRD_RC_COMFORT_neu.pdf");

			// extracting XML invoice which is stored as an attachment
			for (int i = 0; i < extractor.Count; i++)
			{
				Console.WriteLine("Saving XML invoice 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 open the XML invoice extracted...");
			Console.ReadLine();


		        // Open the invoice in default XML viewer
		        System.Diagnostics.Process.Start("ZUGFeRD-invoice.xml");



		}
	}
}

How to extract ZUGFeRD invoice from PDF in Visual Basic .NET

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("Beispielrechnung_ZUGFeRD_RC_COMFORT_neu.pdf")

        Dim i As Integer

	' extract the XML invoice which is stored as an attachment
        For i = 0 To extractor.Count - 1
            Console.WriteLine("Saving XML 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 and open XML...")
        Console.ReadLine()

        ' Open the invoice in default XML viewer        
	System.Diagnostics.Process.Start("ZUGFeRD-invoice.xml")

	End Sub
End Class

How to extract ZUGFeRD invoice from PDF in VBScript (Visual Basic 6)

' 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("..\..\Beispielrechnung_ZUGFeRD_RC_COMFORT_neu.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! Click OK to open the XML invoice"

Set extractor = Nothing

' Open ZUGFeRD invoice XML
Set shell = CreateObject("WScript.Shell")
shell.Run "ZUGFeRD-invoice.xml", 1, false
Set shell = Nothing

Tutorials:

prev
next