Показване на PDF файл във VB.NET форма

click fraud protection

PDF файловете имат вътрешен формат на документа, който изисква софтуерен обект, който "разбира" формата. Тъй като много от вас може да са използвали функциите на Office във вашия VB код, нека разгледаме накратко Microsoft Word като пример за обработка на форматиран документ, за да сме сигурни, че разбираме концепцията. Ако искате да работите с документ на Word, трябва да добавите референция към обектната библиотека на Microsoft Word 12.0 (за Word 2007) и след това да създадете инстанция на обекта Word Application във вашия код.

 Dim myWord като Microsoft. Office. Interop. Word. ApplicationClass
„Стартирайте Word и отворете документа.
myWord = CreateObject ("Word. Приложение")
myWord. Видимо = Вярно
myWord. Документи. Open ( "C: \ myWordDocument.docx")

("" трябва да бъде заменен с действителния път към документа, за да работи този код на вашия компютър.)

Microsoft използва Word Object Library, за да предостави други методи и свойства за вашата употреба. Прочети статията COM -.NET Оперативна съвместимост в Visual Basic за да разберете повече за интеропа на Office COM.

instagram viewer

Но PDF файловете не са технология на Microsoft. PDF - Преносим формат на документа - е файлов формат, създаден от Adobe Systems за обмен на документи. Години наред беше напълно собственост и трябваше да получите софтуер, който да обработва PDF файл от Adobe. На 1 юли 2008 г. PDF е финализиран като публикуван международен стандарт. Сега на всеки е разрешено да създава приложения, които могат да четат и пишат PDF файлове, без да се налага да плащат авторски права на Adobe Systems. Ако планирате да продавате софтуера си, все пак може да се наложи да получите лиценз, но Adobe ги предоставя безвъзмездно. (Microsoft създаде различен формат, наречен XPS, който се основава на XML. PDF форматът на Adobe се основава на Postscript. XPS стана публикуван международен стандарт на 16 юни 2009 г.)

Използването на PDF

Тъй като PDF форматът е конкурент на технологията на Microsoft, те не осигуряват много подкрепа и вие трябва да получат софтуерен обект, който в момента „разбира“ PDF формат от друг, различен от Microsoft. Adobe връща услугата. Те също не поддържат технологията на Microsoft. Цитирайки от последната (октомври 2009 г.) документация на Adobe Acrobat 9.1, „Понастоящем няма поддръжка за разработка на приставки с използване на управлявани езици като C # или VB.NET. "(" Приставката "е софтуер по заявка компонент. Приставката на Adobe се използва за показване на PDF файлове в браузър. ")

Тъй като PDF е стандарт, няколко компании са разработили софтуер за продажба, който можете да добавите към вашия проект, който ще свърши работата, включително Adobe. Налични са и редица системи с отворен код. Можете също така да използвате Word (или Visio) обектни библиотеки за четене и запис на PDF файлове, но като използвате тези големи системи просто това едно нещо ще изисква допълнително програмиране, също има проблеми с лиценза и ще направи програмата ви по-голяма, отколкото трябва бъда.

Точно както трябва да закупите Office, преди да можете да се възползвате от Word, също така трябва да закупите пълната версия на Acrobat, преди да можете да се възползвате от нещо повече от само Reader. Бихте използвали пълния продукт на Acrobat по същия начин, по който се използват други обектни библиотеки, като Word 2007 по-горе. Не се случва да инсталирам пълния продукт на Acrobat, така че не мога да дам тук никакви тествани примери.

Как да

Но ако трябва само да показвате PDF файлове във вашата програма, Adobe предоставя ActiveX COM контрол, който можете да добавите към VB.NET Toolbox. Тя ще свърши работата безплатно. Това е същото, което вероятно използвате за показване на PDF файлове така или иначе: безплатният Adobe Acrobat PDF Reader.

За да използвате контрола Reader, първо се уверете, че сте изтеглили и инсталирали безплатния Acrobat Reader от Adobe.

Стъпка 2 е да добавите контрола към VB.NET Toolbox. Отворете VB.NET и стартирайте стандартно приложение за Windows. (Презентацията на Microsoft от следващото поколение, WPF, все още не работи с този контрол. За съжаление!) За да направите това, щракнете с десния бутон на мишката върху всеки раздел (например "Общи контроли") и изберете "Изберете елементи ..." от контекстното меню, което се появява. Изберете раздела „COM Components“ и поставете отметка в квадратчето до „Adobe PDF Reader“ и щракнете върху OK. Трябва да можете да превъртите надолу до раздела „Контроли“ в кутията с инструменти и да видите там „Adobe PDF Reader“.

Сега просто плъзнете контрола към вашия Windows Form в прозореца за дизайн и го оразмерете по подходящ начин. За този бърз пример няма да добавям никаква друга логика, но контролът има много гъвкавост, за която ще ви кажа как да разберете по-късно. За този пример просто ще заредя обикновен PDF файл, който създадох в Word 2007. За целта добавете този код към процедурата за зареждане на събитието във формата:

 Console. WriteLine (AxAcroPDF1.LoadFile (_
"C: \ Users \ Temp \ SamplePDF.pdf"))

Заменете пътя и името на PDF файл на вашия собствен компютър, за да стартирате този код. Показвах резултата от повикването в прозорците на изхода, само за да покажа как работи това. Ето резултата:


Щракнете тук, за да покажете илюстрацията
Щракнете върху бутона Назад в браузъра си, за да се върнете

Ако искате да контролирате Reader, има и методи и свойства за това в контрола. Но добрите хора в Adobe свършиха по-добра работа, отколкото можех. Изтеглете SDC за Adobe Acrobat от техния център за програмисти ( http://www.adobe.com/devnet/acrobat/). Програмата AcrobatActiveXVB в директорията VBSamples на SDK ви показва как да навигирате в документ, да получите номерата на версиите на софтуера Adobe, който използвате, и много други. Ако нямате инсталирана пълна система Acrobat - която трябва да бъде закупена от Adobe - няма да можете да стартирате други примери.

instagram story viewer