PDF-Dateien haben ein internes Dokumentformat, für das ein Softwareobjekt erforderlich ist, das das Format "versteht". Da viele von Ihnen möglicherweise die Funktionen von Office in Ihrem VB-Code verwendet haben, wollen wir uns kurz Microsoft Word als Beispiel für die Verarbeitung eines formatierten Dokuments ansehen, um sicherzustellen, dass wir das Konzept verstehen. Wenn Sie mit einem Word-Dokument arbeiten möchten, müssen Sie einen Verweis auf die Microsoft Word 12.0-Objektbibliothek (für Word 2007) hinzufügen und anschließend das Word-Anwendungsobjekt in Ihrem Code instanziieren.
Dim myWord As Microsoft.Office.Interop.Word.ApplicationClass
'Starten Sie Word und öffnen Sie das Dokument.
myWord = CreateObject ("Word.Application")
myWord.Visible = True
myWord.Documents.Open ("C: \ myWordDocument.docx")
("" muss durch den tatsächlichen Pfad zum Dokument ersetzt werden, damit dieser Code auf Ihrem PC funktioniert.)
Microsoft verwendet die Word-Objektbibliothek, um andere Methoden und Eigenschaften für Ihre Verwendung bereitzustellen. Lesen Sie den Artikel COM-.NET-Interoperabilität in Visual Basic, um mehr über Office COM-Interop zu erfahren.
PDF-Dateien sind jedoch keine Microsoft-Technologie. PDF - Portable Document Format - ist ein Dateiformat, das von Adobe Systems für den Dokumentenaustausch erstellt wurde. Es war jahrelang völlig urheberrechtlich geschützt und man musste sich eine Software besorgen, die eine PDF-Datei von Adobe verarbeiten konnte. Am 1. Juli 2008 wurde PDF als veröffentlichter internationaler Standard fertiggestellt. Jetzt darf jeder Anwendungen erstellen, die PDF-Dateien lesen und schreiben können, ohne Lizenzgebühren an Adobe Systems zu zahlen. Wenn Sie vorhaben, Ihre Software zu verkaufen, müssen Sie möglicherweise noch eine Lizenz erwerben, die von Adobe jedoch honorarfrei zur Verfügung gestellt wird. (Microsoft hat ein anderes Format namens XPS erstellt, das auf XML basiert. Das PDF-Format von Adobe basiert auf Postscript. XPS wurde am 16. Juni 2009 als internationaler Standard veröffentlicht.)
Da das PDF-Format ein Konkurrent der Microsoft-Technologie ist, wird nicht viel Unterstützung geboten, und Sie müssen ein Softwareobjekt erwerben, das das PDF-Format derzeit von einer anderen Person als Microsoft "versteht". Adobe erwidert den Gefallen. Sie unterstützen die Microsoft-Technologie auch nicht so gut. Zitat aus der neuesten Adobe Acrobat 9.1-Dokumentation (Oktober 2009): "Derzeit wird die Entwicklung von Plug-ins mit verwalteten Sprachen wie C # oder VB.NET nicht unterstützt." (Ein "Plug-In" ist eine On-Demand-Softwarekomponente. Das Plug-In von Adobe wird zum Anzeigen von PDF-Dateien in einem Browser verwendet. ")
Da PDF ein Standard ist, haben mehrere Unternehmen Software zum Verkauf entwickelt, die Sie Ihrem Projekt hinzufügen können, einschließlich Adobe. Es gibt auch eine Reihe von Open-Source-Systemen. Sie können auch die Word- (oder Visio-) Objektbibliotheken verwenden, um PDF-Dateien zu lesen und zu schreiben. Die Verwendung dieser großen Systeme erfordert jedoch zusätzliche Programmierung, hat auch Lizenzprobleme und vergrößert Ihr Programm, als es sein muss.
So wie Sie Office kaufen müssen, bevor Sie Word nutzen können, müssen Sie auch die Vollversion von Acrobat kaufen, bevor Sie mehr als nur den Reader nutzen können. Sie würden das gesamte Acrobat-Produkt in etwa auf dieselbe Weise verwenden wie andere Objektbibliotheken, z. B. Word 2007. Ich habe nicht das gesamte Acrobat-Produkt installiert, daher konnte ich hier keine getesteten Beispiele angeben.
Wenn Sie jedoch nur PDF-Dateien in Ihrem Programm anzeigen müssen, stellt Adobe ein ActiveX-COM-Steuerelement zur Verfügung, das Sie der VB.NET-Toolbox hinzufügen können. Es wird die Arbeit kostenlos erledigen. Es ist dasselbe, mit dem Sie wahrscheinlich sowieso PDF-Dateien anzeigen: der kostenlose Adobe Acrobat PDF Reader.
Um das Reader-Steuerelement zu verwenden, müssen Sie zunächst sicherstellen, dass Sie den kostenlosen Acrobat Reader von Adobe heruntergeladen und installiert haben.
Schritt 2 ist das Hinzufügen des Steuerelements zur VB.NET-Toolbox. Öffnen Sie VB.NET und starten Sie eine Standard-Windows-Anwendung. (Die "nächste Präsentationsgeneration" von Microsoft, WPF, funktioniert mit diesem Steuerelement noch nicht. Entschuldigung!) Klicken Sie dazu mit der rechten Maustaste auf eine beliebige Registerkarte (z. B. "Allgemeine Steuerelemente") und wählen Sie "Elemente auswählen ..." aus der Liste aus Kontextmenü, das erscheint. Wählen Sie die Registerkarte "COM-Komponenten" und aktivieren Sie das Kontrollkästchen neben "Adobe PDF Reader" und klicken Sie auf "OK". Sie sollten in der Lage sein, zur Registerkarte "Steuerelemente" in der Toolbox zu scrollen und dort den "Adobe PDF Reader" zu sehen.
Ziehen Sie das Steuerelement jetzt einfach in Ihr Windows Form im Entwurfsfenster und passen Sie die Größe an. In diesem kurzen Beispiel werde ich keine weitere Logik hinzufügen, aber das Steuerelement verfügt über eine große Flexibilität, über die Sie später mehr erfahren können. In diesem Beispiel lade ich nur eine einfache PDF-Datei, die ich in Word 2007 erstellt habe. Fügen Sie dazu den folgenden Code zum Formular Load event procedure hinzu:
Console.WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))
Ersetzen Sie den Pfad und den Dateinamen einer PDF-Datei auf Ihrem eigenen Computer, um diesen Code auszuführen. Ich habe das Ergebnis des Aufrufs nur in den Ausgabefenstern angezeigt, um zu zeigen, wie das funktioniert. Hier ist das Ergebnis:
--------
Klicken Sie hier, um die Abbildung anzuzeigen
Klicken Sie in Ihrem Browser auf die Schaltfläche Zurück, um zurückzukehren
--------
Wenn Sie den Reader steuern möchten, enthält das Steuerelement auch Methoden und Eigenschaften. Aber die guten Leute bei Adobe haben einen besseren Job gemacht als ich. Laden Sie das Adobe Acrobat SDK aus dem Developer Center (http://www.adobe.com/devnet/acrobat/) herunter. Das Programm AcrobatActiveXVB im Verzeichnis VBSamples des SDK zeigt Ihnen, wie Sie in einem Dokument navigieren, die Versionsnummern der von Ihnen verwendeten Adobe-Software abrufen und vieles mehr. Wenn Sie nicht das gesamte Acrobat-System installiert haben, das von Adobe erworben werden muss, können Sie keine weiteren Beispiele ausführen.