Es muss itextsharp.dll referenziert sein.
Kann bezogen werden von: http://itextsharp.sourceforge.net
Dann nutzt die Funktion das Objektmodell aus dem Namespace "iTextSharp.text.pdf". Deshalb bitte den Namespace importieren.
Ich verwende das Resultat der Funktion um alle eMailadressen aus einem PDF Dokument zu extrahieren. Grundlage dafür ist auch ein Sippet von Jan: http://dotnet-snippets.de/dns/alle-e-mail-adressen-aus-einem-string-bzw-text-filtern-SID759.aspx
-
Gruss aus Freiburg i.Br.
String GetPDFContentString(String path)
{
var sb = new StringBuilder();
var reader = new PdfReader(path);
{
for (Int32 i = 1; i <= reader.NumberOfPages; i++)
{
PdfDictionary pdfDictionary = reader.GetPageN(i);
PRIndirectReference objectRef;
var PName = PdfName.CONTENTS;
try
{
objectRef = pdfDictionary.Get(PName) as PRIndirectReference;
}
catch (Exception ex)
{
return ex.Message;
}
var stream = PdfReader.GetPdfObject(objectRef) as PRStream;
byte[] SBytes = PdfReader.GetStreamBytes(stream);
var token = new PRTokeniser(SBytes);
while ((token.NextToken()))
switch (token.TokenType)
{
case PRTokeniser.TK_STRING:
sb.Append(token.StringValue);
break;
case PRTokeniser.TK_OTHER:
switch (token.StringValue)
{
case "ET":
sb.Append("\n");
break;
}
break;
}
token = null;
stream = null;
objectRef = null;
}
}
reader = null;
return sb.ToString();
}
1 Kommentare zum Snippet