PDF-filer har et internt dokumentformat som krever et programvareobjekt som "forstår" formatet. Siden mange av dere kanskje har brukt funksjonene til Office i VB-koden, la oss se kort på Microsoft Word som et eksempel på å behandle et formatert dokument for å sikre at vi forstår konseptet. Hvis du vil jobbe med et Word-dokument, må du legge til en referanse til Microsoft Word 12.0 Object Library (for Word 2007) og deretter direkte Word Application-objektet i koden din.
Dim myWord Som Microsoft. Kontor. Interop. Ord. ApplicationClass
Start Word og åpne dokumentet.
myWord = CreateObject ("Word. Applikasjon")
mitt ord. Synlig = sant
mitt ord. Dokumenter. Åpne ( "C: \ myWordDocument.docx")
("" må erstattes med den faktiske banen til dokumentet for å få denne koden til å fungere på din PC.)
Microsoft bruker Word Object Library for å tilby andre metoder og egenskaper for din bruk. Les artikkelen COM -.NET Interoperabilitet i Visual Basic for å forstå mer om Office COM interop.
Men PDF-filer er ikke en Microsoft-teknologi. PDF - Portable Document Format - er et filformat opprettet av Adobe Systems for dokumentutveksling. I årevis var den helt proprietær, og du måtte skaffe programvare som kunne behandle en PDF-fil fra Adobe. 1. juli 2008 ble PDF ferdigstilt som publisert internasjonal standard. Nå har hvem som helst lov til å lage applikasjoner som kan lese og skrive PDF-filer uten å måtte betale royalty til Adobe Systems. Hvis du planlegger å selge programvaren din, kan det hende at du fremdeles må få lisens, men Adobe gir dem royaltyfrie. (Microsoft opprettet et annet format kalt XPS som er basert på XML. Adobes PDF-format er basert på Postscript. XPS ble en publisert internasjonal standard 16. juni 2009.)
Bruken av PDF
Siden PDF-formatet er en konkurrent til Microsofts teknologi, gir de ikke mye støtte og deg må skaffe et programvareobjekt som "forstår" PDF-formatet fra noen andre enn Microsoft akkurat nå. Adobe returnerer fordelen. De støtter ikke Microsoft-teknologien så bra heller. Sitat fra den siste (oktober 2009) Adobe Acrobat 9.1-dokumentasjonen, "Det er foreløpig ingen støtte for utvikling av plug-ins ved bruk av administrerte språk som C # eller VB.NET. "(En" plug-in "er en on-demand programvare komponent. Adobes plug-in brukes til å vise PDF-filer i en nettleser. ")
Siden PDF er en standard, har flere selskaper utviklet programvare for salg som du kan legge til i prosjektet ditt som vil gjøre jobben, inkludert Adobe. Det er også en rekke open-source systemer tilgjengelig. Du kan også bruke Word (eller Visio) objektbibliotekene til å lese og skrive PDF-filer, men bruke disse store systemene for bare denne ene tingen vil kreve ekstra programmering, har også lisensproblemer, og vil gjøre programmet ditt større enn det må være.
Akkurat som du trenger å kjøpe Office før du kan dra nytte av Word, må du også kjøpe hele versjonen av Acrobat før du kan dra nytte av mer enn bare Leseren. Du vil bruke hele Acrobat-produktet på omtrent samme måte som andre objektbiblioteker, som Word 2007 ovenfor, blir brukt. Jeg har ikke tilfeldigvis fått hele Acrobat-produktet installert, så jeg kunne ikke gi noen testede eksempler her.
Hvordan
Men hvis du bare trenger å vise PDF-filer i programmet ditt, har Adobe en ActiveX COM-kontroll som du kan legge til i VB.NET Toolbox. Det vil gjøre jobben gratis. Det er den samme du sannsynligvis bruker for å vise PDF-filer uansett: gratis Adobe Acrobat PDF Reader.
For å bruke Reader-kontrollen, må du først forsikre deg om at du har lastet ned og installert den gratis Acrobat Reader fra Adobe.
Trinn 2 er å legge kontrollen til VB.NET Toolbox. Åpne VB.NET og start et standard Windows-program. (Microsofts "neste generasjon" av presentasjonen, WPF, fungerer ikke med denne kontrollen ennå. Beklager!) For å gjøre det, høyreklikk på hvilken som helst fane (for eksempel "Vanlige kontroller") og velg "Velg elementer ..." fra hurtigmenyen som dukker opp. Velg fanen "COM-komponenter" og klikk i avmerkingsboksen ved siden av "Adobe PDF Reader" og klikk OK. Du skal kunne rulle ned til "Kontroller" -fanen i verktøykassen og se "Adobe PDF Reader" der.
Nå er det bare å dra kontrollen til Windows-skjemaet ditt i designvinduet og størrelsen på riktig måte. For dette raske eksemplet skal jeg ikke legge til noen annen logikk, men kontrollen har mye fleksibilitet som jeg vil fortelle deg hvordan du finner ut om senere. For dette eksemplet, vil jeg bare laste inn en enkel PDF som jeg opprettet i Word 2007. For å gjøre det, legg denne koden til i skjemaet Last inn hendelsesprosedyre:
Console. WritLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))
Bytt ut banen og filnavnet til en PDF-fil på din egen datamaskin for å kjøre denne koden. Jeg viste resultatet av samtalen i Output-vinduene bare for å vise hvordan det fungerer. Her er resultatet:
Klikk her for å vise illustrasjonen
Klikk på Tilbake-knappen i nettleseren for å gå tilbake
Hvis du vil kontrollere Leseren, er det metoder og egenskaper for det også i kontrollen. Men de gode på Adobe har gjort en bedre jobb enn jeg kunne. Last ned Adobe Acrobat SDK fra deres utviklingssenter ( http://www.adobe.com/devnet/acrobat/). AcrobatActiveXVB-programmet i VBSamples-katalogen til SDK viser deg hvordan du navigerer i et dokument, får versjonsnumre til Adobe-programvaren du bruker, og mye mer. Hvis du ikke har hele Acrobat-systemet installert - som må kjøpes fra Adobe - vil du ikke kunne kjøre andre eksempler.