PDF-bestanden hebben een intern documentformaat dat een software-object vereist dat het formaat "begrijpt". Aangezien velen van u de functies van Office in uw VB-code hebben gebruikt, laten we kort naar Microsoft Word kijken als een voorbeeld van het verwerken van een opgemaakt document om er zeker van te zijn dat we het concept begrijpen. Als u met een Word-document wilt werken, moet u een verwijzing naar de Microsoft Word 12.0-objectbibliotheek (voor Word 2007) toevoegen en vervolgens het Word Application-object in uw code instantiëren.
Dim myWord als Microsoft. Kantoor. Interop. Woord. ApplicationClass
'Start Word en open het document.
myWord = CreateObject ("Word. Toepassing")
mijn woord. Zichtbaar = waar
mijn woord. Documenten. Openen ("C: \ myWordDocument.docx")
("" moet worden vervangen door het daadwerkelijke pad naar het document om deze code op uw pc te laten werken.)
Microsoft gebruikt de Word Object Library om andere methoden en eigenschappen voor uw gebruik aan te bieden. Lees het artikel
COM -.NET-interoperabiliteit in Visual Basic om meer te weten te komen over Office COM interop.Maar PDF-bestanden zijn geen Microsoft-technologie. PDF - Portable Document Format - is een bestandsformaat dat door Adobe Systems is gemaakt voor het uitwisselen van documenten. Jarenlang was het volledig eigendom en moest je software aanschaffen die een PDF-bestand van Adobe kon verwerken. Op 1 juli 2008 werd PDF afgerond als een gepubliceerde internationale standaard. Nu mag iedereen applicaties maken die PDF-bestanden kunnen lezen en schrijven zonder royalty's te hoeven betalen aan Adobe Systems. Als u van plan bent uw software te verkopen, moet u mogelijk nog steeds een licentie krijgen, maar Adobe biedt ze royaltyvrij. (Microsoft heeft een ander formaat gemaakt, XPS genaamd, dat is gebaseerd op XML. Het PDF-formaat van Adobe is gebaseerd op Postscript. XPS werd op 16 juni 2009 een gepubliceerde internationale standaard.)
Het gebruik van PDF
Omdat het PDF-formaat een concurrent is van de technologie van Microsoft, bieden ze niet veel ondersteuning en u moeten een software-object krijgen dat het PDF-formaat op dit moment "begrijpt" van iemand anders dan Microsoft. Adobe geeft de gunst terug. Ze ondersteunen de Microsoft-technologie ook niet zo goed. Citaat uit de laatste (oktober 2009) Adobe Acrobat 9.1-documentatie: "Er is momenteel geen ondersteuning voor de ontwikkeling van plug-ins met beheerde talen zoals C # of VB.NET. "(Een" plug-in "is software op aanvraag component. De plug-in van Adobe wordt gebruikt om pdf's in een browser weer te geven. ")
Omdat PDF een standaard is, hebben verschillende bedrijven software voor de verkoop ontwikkeld die u aan uw project kunt toevoegen om het werk te doen, inclusief Adobe. Er zijn ook een aantal open source-systemen beschikbaar. U kunt ook de Word- (of Visio-) objectbibliotheken gebruiken om PDF-bestanden te lezen en te schrijven, maar u kunt deze grote systemen gewoon gebruiken dit ene ding zal extra programmeren vereisen, heeft ook licentieproblemen, en zal je programma groter maken dan nodig is worden.
Net zoals u Office moet kopen voordat u kunt profiteren van Word, moet u ook de volledige versie van Acrobat kopen voordat u van meer dan alleen de Reader kunt profiteren. U gebruikt het volledige Acrobat-product op ongeveer dezelfde manier als andere objectbibliotheken, zoals Word 2007 hierboven, worden gebruikt. Ik heb toevallig niet het volledige Acrobat-product geïnstalleerd, dus ik kon hier geen geteste voorbeelden geven.
Hoe
Maar als u alleen PDF-bestanden in uw programma hoeft weer te geven, biedt Adobe een ActiveX COM-besturingselement dat u aan de VB.NET Toolbox kunt toevoegen. Het zal het werk gratis doen. Het is dezelfde die u waarschijnlijk toch gebruikt om PDF-bestanden weer te geven: de gratis Adobe Acrobat PDF Reader.
Om de Reader-besturing te gebruiken, moet u eerst controleren of u de gratis Acrobat Reader van Adobe hebt gedownload en geïnstalleerd.
Stap 2 is om de controle toe te voegen aan de VB.NET Toolbox. Open VB.NET en start een standaard Windows-applicatie. (Microsofts "volgende generatie" presentatie, WPF, werkt nog niet met dit besturingselement. Sorry!) Om dat te doen, klik je met de rechtermuisknop op een tabblad (zoals "Algemene besturingselementen") en selecteer je "Kies items ..." in het contextmenu dat verschijnt. Selecteer het tabblad "COM-componenten" en klik op het selectievakje naast "Adobe PDF Reader" en klik op OK. U moet naar beneden kunnen scrollen naar het tabblad "Besturing" in de Toolbox en daar de "Adobe PDF Reader" zien.
Sleep nu het besturingselement naar uw Windows-formulier in het ontwerpvenster en pas het op de juiste grootte aan. Voor dit snelle voorbeeld ga ik geen andere logica toevoegen, maar de besturing heeft veel flexibiliteit die ik je later zal vertellen. Voor dit voorbeeld ga ik gewoon een eenvoudige PDF laden die ik in Word 2007 heb gemaakt. Om dit te doen, voegt u deze code toe aan het formulier Load event procedure:
Troosten. WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))
Vervang het pad en de bestandsnaam van een PDF-bestand op uw eigen computer om deze code uit te voeren. Ik heb het resultaat van de oproep alleen in de uitvoervensters weergegeven om te laten zien hoe dat werkt. Hier is het resultaat:
Klik hier om de afbeelding weer te geven
Klik op de knop Terug in uw browser om terug te keren
Als u de Reader wilt besturen, zijn daar ook methoden en eigenschappen voor in de besturing. Maar de goede mensen bij Adobe hebben beter werk geleverd dan ik. Download de Adobe Acrobat SDK vanuit hun ontwikkelaarscentrum ( http://www.adobe.com/devnet/acrobat/). Het AcrobatActiveXVB-programma in de VBSamples-directory van de SDK laat zien hoe u in een document navigeert, de versienummers van de Adobe-software die u gebruikt, en nog veel meer. Als u niet het volledige Acrobat-systeem hebt geïnstalleerd - dat u bij Adobe moet kopen - kunt u geen andere voorbeelden uitvoeren.