Zobrazení souboru PDF ve formuláři VB.NET

Soubory PDF mají interní formát dokumentu, který vyžaduje softwarový objekt, který „rozumí“ formátu. Protože mnozí z vás možná použili funkce sady Office ve vašem kódu VB, podívejme se krátce na aplikaci Microsoft Word jako příklad zpracování formátovaného dokumentu, abychom se ujistili, že konceptu rozumíme. Pokud chcete pracovat s dokumentem aplikace Word, musíte přidat odkaz do knihovny objektů aplikace Microsoft Word 12.0 (pro Word 2007) a poté v kódu vytvořit instanci objektu aplikace Word.

 Dim myWord jako Microsoft. Kancelář. Interop. Slovo. Třída Application
'Spusťte aplikaci Word a otevřete dokument.
myWord = CreateObject ("Word. Aplikace")
moje slovo. Viditelné = Pravda
moje slovo. Dokumenty. Otevřít ("C: \ myWordDocument.docx")

(Aby byl tento kód ve vašem počítači funkční, musí být nahrazen skutečnou cestou k dokumentu.)

Společnost Microsoft používá knihovnu objektů Word k poskytnutí dalších metod a vlastností pro vaše použití. Přečíst článek Interoperabilita COM -.NET v jazyce Visual Basic Chcete-li se dozvědět více o Office COM interop.

instagram viewer

Soubory PDF však nejsou technologií společnosti Microsoft. PDF - Portable Document Format - je formát souborů vytvořený společností Adobe Systems pro výměnu dokumentů. Po celá léta to bylo naprosto proprietární a museli jste získat software, který dokáže zpracovat soubor PDF od Adobe. 1. července 2008 byl PDF dokončen jako publikovaný mezinárodní standard. Nyní může kdokoli vytvářet aplikace, které umí číst a zapisovat soubory PDF bez nutnosti platit licenční poplatky společnosti Adobe Systems. Pokud plánujete prodej softwaru, pravděpodobně budete muset získat licenci, ale společnost Adobe jim poskytuje bezplatnou licenci. (Společnost Microsoft vytvořila jiný formát s názvem XPS, který je založen na XML. Formát PDF společnosti Adobe je založen na Postscriptu. XPS se stal publikovaným mezinárodním standardem 16. června 2009.)

Použití PDF

Protože formát PDF je konkurenční technologií společnosti Microsoft, neposkytuje vám mnoho podpory a vy musí nyní získat softwarový objekt, který „chápe“ formát PDF od někoho jiného než Microsoft. Adobe vrátí laskavost. Ani oni nepodporují technologii společnosti Microsoft. Citace z poslední (říjen 2009) dokumentace Adobe Acrobat 9.1: „Aktuálně neexistuje podpora systému Windows vývoj plug-inů pomocí spravovaných jazyků, jako je C # nebo VB.NET. “(„ Plug-in “je software na vyžádání komponent. Doplněk Adobe se používá k zobrazení PDF v prohlížeči. “)

Vzhledem k tomu, že PDF je standardem, vyvinulo několik společností k prodeji software, který můžete přidat do svého projektu, který bude tuto práci vykonávat, včetně Adobe. K dispozici je také řada systémů s otevřeným zdrojovým kódem. Knihovny objektů Word (nebo Visio) můžete také použít ke čtení a zápisu souborů PDF, ale pouze pomocí těchto velkých systémů tato jedna věc bude vyžadovat zvláštní programování, má také licenční problémy a způsobí, že váš program bude větší, než musí být.

Stejně jako potřebujete zakoupit sadu Office, abyste mohli využít výhod aplikace Word, musíte si také zakoupit plnou verzi aplikace Acrobat, abyste mohli využít výhod více než jen aplikace Reader. Celý produkt Acrobat byste používali přibližně stejným způsobem, jakým se používají jiné knihovny objektů, jako je Word 2007 výše. Nestalo se, že mám nainstalovaný celý produkt Acrobat, takže zde nemohu poskytnout žádné testované příklady.

Jak

Pokud však potřebujete pouze zobrazit soubory PDF ve vašem programu, Adobe poskytuje ovládací prvek ActiveX COM, který můžete přidat do VB.NET Toolbox. Bude to dělat práci zdarma. Je to stejné, jaké pravděpodobně používáte k zobrazení souborů PDF: bezplatný program Adobe Acrobat PDF Reader.

Chcete-li použít ovládací prvek Reader, nejprve se ujistěte, že jste si stáhli a nainstalovali bezplatný Acrobat Reader od Adobe.

Krok 2 je přidat ovládací prvek do VB.NET Toolbox. Otevřete VB.NET a spusťte standardní aplikaci Windows. (Prezentace společnosti Microsoft „další generace“, WPF, s touto kontrolou zatím nefunguje. Omlouváme se!) Chcete-li to provést, klepněte pravým tlačítkem myši na kteroukoli kartu (například „Společné ovládací prvky“) a v kontextové nabídce vyberte příkaz „Vybrat položky ...“. Vyberte kartu „Komponenty COM“ a zaškrtněte políčko vedle „Adobe PDF Reader“ a klikněte na OK. Měli byste mít možnost posunout se dolů na kartu „Ovládací prvky“ v Panelu nástrojů a zobrazit tam „Adobe PDF Reader“.

Nyní stačí přetáhnout ovládací prvek do formuláře Windows v návrhovém okně a vhodně jej upravit. Pro tento rychlý příklad nebudu přidávat žádnou další logiku, ale ovládání má spoustu flexibility, kterou vám řeknu, jak se o tom dozvědět později. V tomto příkladu se chystám načíst jednoduchý PDF, který jsem vytvořil v aplikaci Word 2007. Chcete-li to provést, přidejte tento kód do formuláře Postup události načtení:

 Řídicí panel. WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf")))

Chcete-li spustit tento kód, zadejte cestu a název souboru PDF ve svém počítači. Výsledek hovoru jsem zobrazil ve výstupních oknech, abych ukázal, jak to funguje. Zde je výsledek:


Klepnutím sem zobrazíte obrázek
Klepnutím na tlačítko Zpět v prohlížeči se vrátíte

Pokud chcete ovládat čtečku, existují také metody a vlastnosti, které v ovládacím prvku existují. Ale dobří lidé v Adobe odvedli lepší práci, než jsem mohl. Stáhněte si Adobe Acrobat SDK ze svého vývojového centra ( http://www.adobe.com/devnet/acrobat/). Program AcrobatActiveXVB v adresáři VBSamples sady SDK vám ukáže, jak se v dokumentu pohybovat, získat čísla verzí softwaru Adobe, který používáte, a mnohem více. Pokud nemáte nainstalovaný celý systém Acrobat - který je třeba zakoupit od společnosti Adobe -, nebudete moci spustit další příklady.