Ich verwende iTextSharp, um mein PDF-Dokument dynamisch zu erstellen. Alles funktioniert gut und es gibt keine Fehler im Code; jedoch, wenn ich das erstellte PDF öffne, erhalte ich einen Fehler, der besagt, dass das Dokument nicht korrekt angezeigt wird, da es Fehler enthält.
Hier ist der Code unten, der mich vor ein Problem stellt:
public class pdfevents : PdfPageEventHelper
{
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
PdfContentByte cb = writer.DirectContent;
cb.BeginText();
cb.SetTextMatrix(20, document.GetBottom(-30));
BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetFontAndSize(bf, 10);
//das ist der Codeabschnitt, der Probleme verursacht
//wenn ich es entferne, wird das Dokument ohne Fehler angezeigt
cb.MoveTo(15F, document.GetBottom(-15));
cb.SetLineWidth(0.5F);
cb.LineTo(document.GetRight(0), document.GetBottom(-15));
cb.Stroke();
cb.ShowText(DateTime.Now.ToLongDateString());
int n = writer.PageNumber;
cb.SetTextMatrix(document.GetRight(20), document.GetBottom(-30));
cb.ShowText(" - " + n + " - ");
cb.EndText();
}
}
Wenn ich die folgenden Zeilen entferne:
//das ist der Codeabschnitt, der Probleme verursacht
//wenn ich es entferne, wird das Dokument ohne Fehler angezeigt
cb.MoveTo(15F, document.GetBottom(-15));
cb.SetLineWidth(0.5F);
cb.LineTo(document.GetRight(0), document.GetBottom(-15));
Dann erhalte ich beim Öffnen des generierten PDF keine Fehlermeldung. Andernfalls kann ich das PDF öffnen und das Dokument sowie den Inhalt einschließlich der Linie sehen. Jedoch erhalte ich dann einen Fehler, dass das Dokument mit einem Fehler generiert wurde.
Kann mir jemand sagen, was falsch ist?
Vielen Dank im Voraus. cb.Stroke();