Wyświetlanie pliku PDF w formularzu VB.NET

Pliki PDF mają wewnętrzny format dokumentu, który wymaga obiektu programowego, który „rozumie” ten format. Ponieważ wielu z was mogło korzystać z funkcji pakietu Office w kodzie VB, spójrzmy pokrótce na Microsoft Word jako przykład przetwarzania sformatowanego dokumentu, aby upewnić się, że rozumiemy tę koncepcję. Jeśli chcesz pracować z dokumentem Word, musisz dodać odwołanie do biblioteki obiektów Microsoft Word 12.0 (dla Word 2007), a następnie utworzyć instancję obiektu Word Application w swoim kodzie.

 Dim myWord As Microsoft. Gabinet. Interop. Słowo. ApplicationClass
„Uruchom program Word i otwórz dokument.
myWord = CreateObject („Word. Podanie")
moje słowo. Widoczny = Prawda
moje słowo. Dokumenty Otwórz („C: \ myWordDocument.docx”)

(„” należy zastąpić rzeczywistą ścieżką do dokumentu, aby ten kod działał na komputerze).

Microsoft wykorzystuje bibliotekę obiektów Word do udostępniania innych metod i właściwości do użytku. Przeczytaj artykuł Interoperacyjność COM-.NET w Visual Basic aby dowiedzieć się więcej o współpracy Office COM.

instagram viewer

Ale pliki PDF nie są technologią Microsoft. PDF - Portable Document Format - to format pliku stworzony przez Adobe Systems do wymiany dokumentów. Przez lata był całkowicie zastrzeżony i trzeba było zdobyć oprogramowanie, które mogłoby przetwarzać plik PDF z Adobe. 1 lipca 2008 r. PDF został sfinalizowany jako opublikowany międzynarodowy standard. Teraz każdy może tworzyć aplikacje, które potrafią czytać i zapisywać pliki PDF bez konieczności uiszczania opłat licencyjnych w Adobe Systems. Jeśli planujesz sprzedać swoje oprogramowanie, może być konieczne uzyskanie licencji, ale Adobe zapewnia je bezpłatnie. (Microsoft stworzył inny format o nazwie XPS oparty na XML. Format Adobe Adobe oparty jest na Postscript. XPS stał się opublikowanym międzynarodowym standardem 16 czerwca 2009 roku.)

Zastosowania PDF

Ponieważ format PDF stanowi konkurencję dla technologii Microsoft, nie zapewnia on dużego wsparcia, a Ty muszę uzyskać obiekt programowy, który „rozumie” format PDF od osoby innej niż Microsoft. Adobe zwraca przysługę. Nie wspierają również technologii Microsoft. Cytując z najnowszej (Adobe Acrobat 9.1) dokumentacji z października 2009 r. „Obecnie nie ma wsparcia dla opracowanie wtyczek przy użyciu zarządzanych języków, takich jak C # lub VB.NET. ”(„ Wtyczka ”to oprogramowanie na żądanie składnik. Wtyczka Adobe służy do wyświetlania plików PDF w przeglądarce. ”)

Ponieważ PDF jest standardem, kilka firm opracowało oprogramowanie na sprzedaż, które można dodać do projektu, który wykona zadanie, w tym Adobe. Dostępnych jest również wiele systemów typu open source. Możesz także użyć bibliotek obiektów Word (lub Visio) do odczytu i zapisu plików PDF, ale tylko z tych dużych systemów to jedno będzie wymagało dodatkowego programowania, będzie miało również problemy z licencją i sprawi, że twój program będzie większy niż musi być.

Tak jak musisz kupić pakiet Office, aby móc korzystać z programu Word, musisz także kupić pełną wersję programu Acrobat, zanim będziesz mógł skorzystać z czegoś więcej niż tylko czytnika. Używałbyś pełnego produktu Acrobat w taki sam sposób, w jaki używane są inne biblioteki obiektów, takie jak Word 2007 powyżej. Nie mam zainstalowanego pełnego produktu Acrobat, więc nie mogłem podać tutaj żadnych przetestowanych przykładów.

Jak

Ale jeśli potrzebujesz tylko wyświetlać pliki PDF w swoim programie, Adobe zapewnia formant COM ActiveX, który możesz dodać do Zestawu narzędzi VB.NET. Wykona pracę za darmo. Jest to ten sam, którego prawdopodobnie używasz do wyświetlania plików PDF: darmowy program Adobe Acrobat PDF Reader.

Aby użyć kontrolki Reader, najpierw upewnij się, że pobrałeś i zainstalowałeś darmowy Acrobat Reader od Adobe.

Krok 2 polega na dodaniu kontrolki do Zestawu narzędzi VB.NET. Otwórz VB.NET i uruchom standardową aplikację Windows. („Następna generacja” prezentacji Microsoft, WPF, nie działa jeszcze z tą kontrolą. Przepraszamy!) Aby to zrobić, kliknij prawym przyciskiem myszy dowolną kartę (np. „Wspólne elementy sterujące”) i wybierz „Wybierz elementy ...” z wyskakującego menu kontekstowego. Wybierz kartę „Komponenty COM” i kliknij pole wyboru obok „Adobe PDF Reader” i kliknij OK. Powinieneś być w stanie przewinąć w dół do zakładki „Sterowanie” w Przyborniku i zobaczyć tam „Adobe PDF Reader”.

Teraz wystarczy przeciągnąć formant do formularza Windows w oknie projektu i odpowiednio go zmienić. W tym szybkim przykładzie nie zamierzam dodawać żadnej innej logiki, ale kontrola ma dużą elastyczność, o której powiem, jak dowiedzieć się później. W tym przykładzie po prostu załaduję prosty plik PDF, który utworzyłem w programie Word 2007. Aby to zrobić, dodaj ten kod do formularza Procedura ładowania zdarzenia:

 Konsola. WriteLine (AxAcroPDF1.LoadFile (_
„C: \ Users \ Temp \ SamplePDF.pdf”))

Podaj ścieżkę i nazwę pliku PDF na swoim komputerze, aby uruchomić ten kod. Wyświetliłem wynik połączenia w oknie Output tylko po to, aby pokazać, jak to działa. Oto wynik:


Kliknij tutaj, aby wyświetlić ilustrację
Kliknij przycisk Wstecz w przeglądarce, aby powrócić

Jeśli chcesz sterować czytnikiem, istnieją również metody i właściwości tego formantu. Ale dobrzy ludzie z Adobe wykonali lepszą robotę niż ja. Pobierz Adobe Acrobat SDK z ich centrum programistów ( http://www.adobe.com/devnet/acrobat/). Program AcrobatActiveXVB w katalogu VBSamples pakietu SDK pokazuje, jak poruszać się po dokumencie, uzyskać numery wersji używanego oprogramowania Adobe i wiele więcej. Jeśli nie masz zainstalowanego pełnego systemu Acrobat - który musisz zakupić od Adobe - nie będziesz w stanie uruchomić innych przykładów.

instagram story viewer