PDFSharp Formularfelder ausfüllen
Ich würde gerne die Formularfelder auszufüllen, die in einer vorgefertigten PDF-doc, aber ich erhalte eine Null Refrence Fehler mit AcroForm beim laufen.
string fileN4 = TextBox1.Text + " LOG.pdf";
File.Copy(Path.Combine(textBox4.Text + "\\", fileN4),
Path.Combine(Directory.GetCurrentDirectory(), fileN4), true);
//Open the file
PdfDocument document = PdfReader.Open(fileN4, PdfDocumentOpenMode.Modify);
PdfTextField currentField = (PdfTextField)(document.AcroForm.Fields["<CASENUM>"]);
//const
string caseName = TextBox1.Text;
PdfString caseNamePdfStr = new PdfString(caseName);
//set the value of this field
currentField.Value = caseNamePdfStr;
//Save the document...
document.Save(fileN4);
So PdfTextField currentField = (PdfTextField)(document.AcroForm.Fields["<CASENUM>"]);
ist, wo der Fehler passiert. Es scheint, dass AcroForm ist auch nicht das erkennen der Felder.
Eine andere Möglichkeit wäre, eine suchen-und ersetzen von text in einem PDF-Dokument (ohne Verwendung itextsharp als nicht verwenden aufgrund der Lizenzen).
Jede Hilfe wäre genial!
InformationsquelleAutor der Frage user770344 | 2011-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie auch diese, wenn Sie versuchen, füllen Sie PDF-Formular-Felder, Sie müssen auch die NeedsAppearances element auf true. Sonst wird die PDF-Datei "verstecken" sich die Werte auf dem Formular. Hier ist der VB-code.
InformationsquelleAutor der Antwort Marc Ferree
Ich habe gerade ähnliches erlebt. Die erste pdf-Datei, die ich geöffnet habe, nicht enthalten acroform Daten und führte eine null-exception wie oben beschrieben. Das Problem ist nicht mit dem öffnen von pdf -, sondern die Referenz auf die Acroform zu erhalten member-variable, die einen Wert von null. Sie können testen Sie Ihr pdf-Dokument mit dem folgenden code-Beispiel:
ADENDUM
Mir ist auch aufgefallen das der Schlüssel in dieser Codezeile sollte keine Spitzen Klammern
Ändern
InformationsquelleAutor der Antwort Merlin
Ich habe dies heute und ich habe es geschafft, erstellen Sie eine funktionierende Lösung. Habe ich eingefügt, von meinem funktionierenden code unten. Die einzige wirkliche Unterschiede kann ich zwischen meinem code und den OP ' s ist die folgende:
Hoffentlich von nutzen sein wird, zu jemandem, der versucht, das gleiche zu tun.
InformationsquelleAutor der Antwort paulH
Die Lösung zur überwindung der
NullReferenceException
ist zu öffnen Sie Ihr pre-madePDF-Datei mit Adobe Acrobat und geben Sie Ihrem Formular Felder einen Standardwert, indem Sie Ihre Eigenschaft-Typ zu sein, etwas anderes als
null
.InformationsquelleAutor der Antwort Dave
Haben Sie versucht, indem Sie das aktuelle Verzeichnis, wenn Sie versuchen, um es zu öffnen?
Ändern
zu
Ich bin mir ziemlich sicher, dass PdfReader müssen einen vollständigen Pfad der Datei, obwohl ich nur ASPOSE für die pdf-Erstellung.
InformationsquelleAutor der Antwort Gats