Default.aspx.cs
using System;
using System.IO;
using System.Web;
using Bytescout.PDFExtractor;
namespace ZUGFeRDInvoiceExtraction
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String inputFile = Server.MapPath(@".\bin\ZUGFeRD-invoice.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");
// Display attached ZUGFeRD XML data
for (int i = 0; i < extractor.Count; i++)
{
Response.Write("ZUGFeRD XML invoice attachment: " + extractor.GetFileName(i) + "<br/>");
MemoryStream mem = new MemoryStream();
Response.Write("File size: " + extractor.GetSize(i) + "<br/>");
// You can save the file into temp folder or save to stream to avoid temp files
//extractor.Save(i, extractor.GetFileName(i));
extractor.SaveToStream(i, mem);
mem.Position = 0; // reset the stream position
StreamReader sreader = new StreamReader(mem);
string zugferdXmlData = sreader.ReadToEnd(); // XML content
Response.Write("<textarea rows='20' cols='80'>" + HttpUtility.HtmlEncode(zugferdXmlData) + "</textarea>");
}
Response.Write("\r\n</body></html>");
Response.End();
}
}
}
Web.config
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
-->
<compilation debug="true" />
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows" />
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
Click here to get your Free Trial version of the SDK
also available as: