{"id":55001250,"date":"2020-10-01T00:00:00","date_gmt":"2020-10-02T09:00:59","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1250"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"PDFDokumente_im_WebBrowserSteuerelement","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/","title":{"rendered":"PDF-Dokumente im WebBrowser-Steuerelement"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Immer wieder erhalten wir Fragen danach, wie man PDF-Dokumente einfach in Access-Formularen anzeigen kann. Die einfachste Variante scheint die mit dem Web-Browser-Steuerelement zu sein, mit dem man zu einem auf der Festplatte befindlichen PDF-Dokument navigiert. Der vorliegende Beitrag zeigt nicht nur, wie Sie das Dokument anzeigen, sondern liefert auch noch einige M&ouml;glichkeiten f&uuml;r die Handhabung des PDF-Dokuments. Dazu geh&ouml;ren das Zoomen, Drucken, Einstellen verschiedener Ansichten und Layouts und vieles mehr.<\/b><\/p>\n<p><b>Voraussetzungen<\/b><\/p>\n<p>Die L&ouml;sung zu diesem Beitrag haben wir auf einem Rechner mit Windows 10, Office 365 und Adobe Acrobat Reader DC in der Version 2020.012.20041 entwickelt und getestet.<\/p>\n<p>Wenn wir im <b>WebBrowser<\/b>-Steuerelement die <b>Navigate2<\/b>-Methode verwenden und als Parameter den Pfad zu einem PDF-Dokument angeben, wurde unter den oben genannten Voraussetzungen das angegebene PDF-Dokument innerhalb des Webbrowser-Steuerelements angezeigt &#8211; so, als ob Sie vom Internet Explorer aus ein PDF-Dokument &ouml;ffnen.<\/p>\n<p><b>Formular mit Webbrowser-Steuerelement anlegen<\/b><\/p>\n<p>Die erste Aufgabe ist das Hinzuf&uuml;gen eines <b>Web-Browser<\/b>-Steuerelements zu einem neuen Access-Formular. Das Formular legen wir in der Beispieldatenbank unter dem Namen <b>frmPDFImWebbrowser <\/b>an.<\/p>\n<p>Diesem f&uuml;gen wir nun in der Entwurfsansicht ein <b>Web-Browser<\/b>-Steuerelement hinzu, das wir im Ribbon unter <b>Entwurf|Steuerelemente|Webbrowsersteuerelement <\/b>finden.<\/p>\n<p>Nach dem Hinzuf&uuml;gen sieht das Steuerelement recht unscheinbar aus (siehe Bild 1). F&uuml;r das neue <b>WebBrowser<\/b>-Steuerelement legen wir den Namen <b>ctlWebbrowser <\/b>fest.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_001.png\" alt=\"Anlegen des WebBrowser-Steuerelements\" width=\"649,559\" height=\"497,1385\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Anlegen des WebBrowser-Steuerelements<\/span><\/b><\/p>\n<p>Damit sich das <b>WebBrowser<\/b>-Steuerelement beim Vergr&ouml;&szlig;ern des Formulars mit vergr&ouml;&szlig;ert, stellen wir die beiden Eigenschaften <b>Horizontaler Anker <\/b>und <b>Vertikaler Anker <\/b>auf den Wert <b>Beide <\/b>ein.<\/p>\n<p>Damit keine unn&ouml;tigen Elemente im Formular angezeigt werden, legen wir au&szlig;erdem f&uuml;r die Eigenschaften <b>Datensatzmarkierer<\/b>, <b>Navigationsschaltfl&auml;chen<\/b>, <b>Bildlaufleisten <\/b>und <b>Trennlinien <\/b>den Wert <b>Nein <\/b>fest.<\/p>\n<p><b>Schaltfl&auml;che zum &Ouml;ffnen eines PDF-Dokuments<\/b><\/p>\n<p>Nun beginnen wir mit den Elementen, die wir f&uuml;r das &Ouml;ffnen eines PDF-Dokuments im <b>WebBrowser<\/b>-Steuerelement ben&ouml;tigen. Dazu f&uuml;gen wir eine einfache Schaltfl&auml;che namens <b>cmdPDFOeffnen <\/b>hinzu.<\/p>\n<p>F&uuml;r diese hinterlegen wir die folgende Ereignisprozedur:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdPDFOeffnen_Click()\r\n     <span style=\"color:blue;\">Dim <\/span>strPDF<span style=\"color:blue;\"> As String<\/span>\r\n     strPDF = CurrentProject.Path & \"\test.pdf\"\r\n     Me!ctlWebbrowser.Object.Navigate strPDF\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>PDF anzeigen<\/b><\/p>\n<p>Der erste Wechsel in die Formularansicht ist ern&uuml;chternd: Das <b>WebBrowser<\/b>-Steuerelement zeigt lediglich eine Meldung &uuml;ber eine ung&uuml;ltige Adresse an (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_002.png\" alt=\"WebBrowser-Steuerelement ohne Inhalt\" width=\"424,7115\" height=\"480,7499\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: WebBrowser-Steuerelement ohne Inhalt<\/span><\/b><\/p>\n<p>Das &auml;ndert sich allerdings nach einem Klick auf die Schaltfl&auml;che <b>cmdPDFOeffnen<\/b>. Das <b>WebBrowser<\/b>-Steuerelement zeigt dann wie in Bild 3 das gew&uuml;nschte PDF-Dokument an.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_003.png\" alt=\"PDF-Document im WebBrowser-Steuerelement\" width=\"424,7115\" height=\"606,5905\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: PDF-Document im WebBrowser-Steuerelement<\/span><\/b><\/p>\n<p><b>Leeres Browserfenster anzeigen<\/b><\/p>\n<p>Wir wollen dem Benutzer beim &Ouml;ffnen des Formulars nicht die Meldung &uuml;ber die ung&uuml;ltige Adresse pr&auml;sentieren, sondern ein leeres Browser-Fenster. Dabei erledigen wir direkt ein paar Vorarbeiten f&uuml;r die folgenden Schritte. Als Erstes f&uuml;gen wir dem Klassenmodul des Formulars ganz oben die folgende Deklaration einer Variablen f&uuml;r das <b>Webbrowser<\/b>-Element hinzu. Dieses statten wir mit dem Schl&uuml;sselwort <b>WithEvents <\/b>aus, damit wir seine Ereignisse im Klassenmodul implementieren k&ouml;nnen. Eines davon ben&ouml;tigen wir n&auml;mlich:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>WithEvents objWebbrowser<span style=\"color:blue;\"> As <\/span>WebBrowser<\/pre>\n<p>Danach implementieren wir eine Ereignisprozedur f&uuml;r das Ereignis <b>Beim Laden <\/b>des Formulars. Hier f&uuml;llen wir direkt die Variable <b>objWebBrowser <\/b>mit dem Element, das in der Eigenschaft <b>Object <\/b>des <b>WebBrowser<\/b>-Steuerelements steckt. Der Hintergrund ist, dass das von uns hinzugef&uuml;gte Access-Steuerelement nur ein Wrapper f&uuml;r das eigentliche <b>WebBrowser<\/b>-Steuerelement ist, der einige Eigenschaften und Ereignisse zur Verf&uuml;gung stellt.<\/p>\n<p>Wir ben&ouml;tigen aber auch beispielsweise ein Ereignis, das dieser Wrapper nicht bereith&auml;lt. Also greifen wir mit <b>Me!ctlWebbrowser.Object <\/b>auf das darin enthaltenen <b>WebBrowser<\/b>-Steuerelement zu:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>Form_Load()\r\n     <span style=\"color:blue;\">Set<\/span> objWebbrowser = Me!ctlWebbrowser.Object<\/pre>\n<p>Anschlie&szlig;end verwenden wir die <b>Navigate2<\/b>-Methode, um zu einer Seite namens <b>about:blank <\/b>zu navigieren. Danach zeigt das <b>WebBrowser<\/b>-Steuerelement statt der Seite mit der Meldung eine leere Seite an:<\/p>\n<pre>     objWebbrowser.Navigate2 \"about:blank\"\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>PDF ausw&auml;hlen<\/b><\/p>\n<p>Das Laden des PDF-Dokuments wollen wir noch ein wenig eleganter gestalten, denn schlie&szlig;lich wollen wir nicht immer das gleiche PDF-Dokument laden, sondern dem Benutzer auch die M&ouml;glichkeit geben, dieses auszuw&auml;hlen.<\/p>\n<p>Dazu f&uuml;gen wir im oberen Bereich ein Textfeld namens <b>txtPDFDocument <\/b>hinzu. Die Schaltfl&auml;che <b>cmdPDFOeffnen <\/b>statten wir mit drei Punkten als Text aus, sodass der obere Teil des Formulars nun wie in Bild 4 aussieht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_004.png\" alt=\"Steuerelemente zum Ausw&auml;hlen des anzuzeigenden PDF-Dokuments\" width=\"499,6607\" height=\"257,988\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Steuerelemente zum Ausw&auml;hlen des anzuzeigenden PDF-Dokuments<\/span><\/b><\/p>\n<p>Die Prozedur, die durch diese Schaltfl&auml;che ausgel&ouml;st wird, &auml;ndern wir wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdPDFOeffnen_Click()\r\n     <span style=\"color:blue;\">Dim <\/span>strPDF<span style=\"color:blue;\"> As String<\/span>\r\n     strPDF = OpenFileName(CurrentProject.Path, _\r\n         \"PDF ausw&auml;hlen\", \"PDF-Dokumente (*.pdf)\")\r\n     Me!txtPDFDokument = strPDF\r\n     objWebbrowser.Navigate2 strPDF\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Damit k&ouml;nnen wir das PDF-Dokument nun mit einem Dateiauswahl-Dialog &ouml;ffnen.<\/p>\n<p><b>Programmierung der PDF-Ansicht<\/b><\/p>\n<p>Die PDF-Ansicht des Acrobat-Readers im <b>WebBrowser<\/b>-Steuerelement bietet einige M&ouml;glichkeiten zum Anzeigen von Seiten, Drucken des Dokuments oder zum Einstellen der verschiedenen Ansichten. Hier ist eine &Uuml;bersicht der nachfolgend vorgestellten Methoden:<\/p>\n<ul>\n<li><b>gotoFirstPage<\/b>: Navigiert zur ersten Seite des Dokuments.<\/li>\n<li><b>gotoPreviousPage<\/b>: Navigiert zur vorherigen Seite des Dokuments.<\/li>\n<li><b>gotoNextPage<\/b>: Navigiert zur n&auml;chsten Seite des Dokumetns.<\/li>\n<li><b>gotoLastPage<\/b>: Navigiert zur letzten Seite des Dokuments.<\/li>\n<li><b>setCurrentPage<\/b>: Zeigt die Seite mit der als Parameter angegebenen Seitennummer an.<\/li>\n<li><b>setLayoutMode<\/b>: Stellt das Layout auf einen der folgenden Werte ein, den Sie als Parameter bei Aufruf &uuml;bergeben: <b>DontCare <\/b>&#8211; verwendet die aktuellen Einstellungen, <b>SinglePage <\/b>&#8211; zeigt eine einzelne Seite an, <b>OneColumn<\/b>: zeigt jeweils eine Seite an, <b>Two-ColumnLeft <\/b>&#8211; zeigt zwei Seiten nebeneinander an, wobei die erste Seite auf der linken Seite beginnt (das hei&szlig;t, Seite eins und zwei erscheinen ganz oben), <b>Two-ColumnRight <\/b>&#8211; zeigt ebenfalls zwei Seiten nebeneinander an, aber in der obersten Reihe erscheint nur die erste Seite, und zwar rechts.<\/li>\n<li><b>setPageMode<\/b>: Stellt den Seitenmodus auf einen der folgenden Werte ein, den Sie als Parameter beim Aufruf der Methode &uuml;bergeben: <b>none <\/b>&#8211; zeigt das Dokument ohne Lesezeichen oder Thumbnails an (Standardeinstellung), <b>bookmarks <\/b>&#8211; zeigt das Dokument und Lesezeichen an, <b>thumbs <\/b>&#8211; zeigt das Dokument und Thumbnails an.<\/li>\n<li><b>setView<\/b>: Stellt die Ansicht ein und erwartet zum Beispiel einen der folgenden Werte als Parameter: <b>Fit <\/b>&#8211; passt die Seite so in das Steuerelement ein, dass es sowohl horizontal als auch vertikal hineinpasst, <b>FitH <\/b>&#8211; passt die Seitenbreite so an, dass die Seite horizontal in das Steuerelement hineinpasst, <b>FitV <\/b>&#8211; passt die Seitenh&ouml;he so an, dass die Seite vertikal in das Steuerelement passt, <b>FitB <\/b>&#8211; passt die Seite ebenfalls horizontal und vertikal an das Steuerelement an.<\/li>\n<li><b>setShowScrollbars<\/b>: Erwartet einen Boolean-Wert als Parameter, der angibt, ob die Bildlaufleisten angezeigt werden sollen oder nicht.<\/li>\n<li><b>setShowToolbar<\/b>: Erwartet einen Boolean-Wert als Parameter, der angibt, ob die Men&uuml;leiste angezeigt werden soll oder nicht.<\/li>\n<li><b>LoadFile<\/b>: L&auml;dt das als Parameter angegebene PDF-Dokument und zeigt es an. Dies funktioniert allerdings erst, wenn das <b>WebBrowser<\/b>-Steuerelement bereits ein PDF-Dokument anzeigt und die Variable mit dem Verweis auf das PDF-Objekt gef&uuml;llt ist.<\/li>\n<li><b>printAll<\/b>: Druckt den kompletten Inhalt des Dokuments, ohne einen Drucken-Dialog anzuzeigen.<\/li>\n<li><b>printAllFit<\/b>: Druckt den kompletten Inhalt des Dokuments und erwartet einen <b>Boolean<\/b>-Wert als Parameter, der angibt, ob die PDF-Seite in den bedruckbaren Bereich des Druckers eingepasst werden soll.<\/li>\n<li><b>printWithDialog<\/b>: Soll einen Drucken-Dialog &ouml;ffnen, mit dem der Benutzer selbst die Druck-Einstellungen festlegen kann. Der Drucken-Dialog wurde unter unserer Konfiguration allerdings nicht angezeigt.<\/li>\n<li><b>printPages<\/b>: Erwartet zwei Parameter, die angeben, welche die erste und welche die letzte zu druckende Seite ist. Bleibt einer dieser Parameter leer, wird die erste beziehungsweise letzte Seite angenommen.<\/li>\n<li><b>printPagesFit<\/b>: Erwartet drei Parameter, von denen die ersten beiden angeben, welche die erste und die letzte zu druckende Seite ist. Der dritte Parameter legt fest, ob die PDF-Seite in den bedruckbaren Bereich des Druckers eingepasst werden soll. Bleiben der erste oder zweite Parameter leer, verwendet die Methode die erste oder letzte Seite des Dokuments als Werte.<\/li>\n<li><b>src<\/b>: Eine der wenigen Eigenschaften des Objekts. Hiermit k&ouml;nnen Sie den Pfad zum aktuell angezeigten PDF-Dokument ermitteln.<\/li>\n<li><b>setZoom<\/b>: Erwartet einen Parameter, der angibt, welcher Zoom-Faktor eingestellt werden soll. Der Wert <b>100 <\/b>entspricht 100%.<\/li>\n<li><b>setZoomScroll<\/b>: Erwartet drei Parameter. Der erste Parameter gibt wie bei <b>setZoom <\/b>den Zoom-Faktor an. Der zweite und dritte Parameter geben an, wie weit vom oberen oder linken Rand nach unten beziehungsweise rechts gescrollt werden soll. Dies hat f&uuml;r uns nur f&uuml;r die vertikale Komponente funktioniert.<\/li>\n<\/ul>\n<p><!--30percent--><\/p>\n<p><b>PDF-Funktionen in das Formular integrieren<\/b><\/p>\n<p>Nun f&uuml;gen wir dem Formular einige Steuerelemente hinzu, mit denen wir die zuvor beschriebenen Methoden auf das aktuell angezeigte PDF-Dokument anwenden k&ouml;nnen.<\/p>\n<p>Dazu m&uuml;ssen wir allerdings zun&auml;chst noch einen Verweis auf die Bibliothek mit den Methoden hinzuf&uuml;gen und das geladene PDF-Dokument mit einer Variablen referenzieren.<\/p>\n<p><b>Verweis auf die Acrobat-Bibliothek<\/b><\/p>\n<p>Den Verweis f&uuml;gen Sie wie &uuml;blich &uuml;ber den <b>Verweise<\/b>-Dialog hinzu, den Sie mit dem Men&uuml;eintrag <b>Extras|Verweise <\/b>des VBA-Editors &ouml;ffnen. Hier sollten Sie einen Eintrag mit dem Text Adobe <b>Acrobat Browser Control Type Library 1.0 <\/b>finden und hinzuf&uuml;gen (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_005.png\" alt=\"Verweis auf die Bibliothek Adobe Acrobat Browser Control Type Library 1.0\" width=\"499,6607\" height=\"393,9009\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Verweis auf die Bibliothek Adobe Acrobat Browser Control Type Library 1.0<\/span><\/b><\/p>\n<p>Anschlie&szlig;end finden Sie im Objektkatalog alle Methoden des Objekts <b>AcroPDF<\/b>. Dazu w&auml;hlen Sie im Kombinationsfeld oben links den Eintrag <b>AcroPDFLib <\/b>aus und klicken dann in der Liste der Klassen auf den Eintrag <b>AcroPDF<\/b> (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_006.png\" alt=\"Die Klasse AcroPDF im Objektkatalog\" width=\"599,593\" height=\"492,5551\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Die Klasse AcroPDF im Objektkatalog<\/span><\/b><\/p>\n<p><b>Objektvariable f&uuml;r das AcroPDF-Objekt <\/b><\/p>\n<p>Damit wir die Methoden des <b>AcroPDF<\/b>-Objekt komfortabel nutzen k&ouml;nnen, deklarieren wir daf&uuml;r eine passende Objektvariable:<\/p>\n<pre><span style=\"color:blue;\">Dim <\/span>objAcrobat<span style=\"color:blue;\"> As <\/span>AcroPDFLib.AcroPDF<\/pre>\n<p>Wann aber f&uuml;llen wir diese Variable Wir k&ouml;nnen das noch nicht in dem Moment erledigen, wo wir das Formular &ouml;ffnen, denn dann ist noch kein PDF-Dokument im <b>WebBrowser<\/b>-Steuerelement enthalten und somit auch nicht das PDF-Steuerelement.<\/p>\n<p>Wir k&ouml;nnen die Variable <b>objAcrobat <\/b>erst f&uuml;llen, wenn der Benutzer das erste PDF-Dokument geladen hat. Wir wissen zwar, wann der Ladevorgang des PDF-Vorgangs beginnt &#8211; n&auml;mlich nachdem das <b>WebBrowser<\/b>-Steuerelement die <b>Navigate2<\/b>-Methode ausgef&uuml;hrt hat:<\/p>\n<pre>objWebbrowser.Navigate2 strPDF<\/pre>\n<p>Hier kommt nun das Schl&uuml;sselwort <b>WithEvents <\/b>f&uuml;r die Variable <b>objWebBrowser <\/b>zum Zuge: Dadurch k&ouml;nnen wir n&auml;mlich die Ereignisse dieses Steuerelements im aktuellen Klassenmodul implementieren. Dazu w&auml;hlen wir im VBA-Editor im linken Kombinationsfeld den Eintrag <b>objWebbrowser <\/b>und im rechten Kombinationsfeld den Eintrag <b>NavigateComplete2 <\/b>aus. Der VBA-Editor legt dann automatisch eine Prozedur namens <b>objWebbrowser_NavigateComplet2 <\/b>an (siehe Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_008.png\" alt=\"Anlegen einer Ereignisprozedur f&uuml;r das WebBrowser-Steuerelement\" width=\"700\" height=\"353,694\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Anlegen einer Ereignisprozedur f&uuml;r das WebBrowser-Steuerelement<\/span><\/b><\/p>\n<p>In unserem Fall f&uuml;llen wir die Ereignisprozedur mit den folgenden Anweisungen:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>objWebbrowser_NavigateComplete2(_\r\n         ByVal pDisp<span style=\"color:blue;\"> As Object<\/span>, URL<span style=\"color:blue;\"> As Variant<\/span>)\r\n     On Error Resume <span style=\"color:blue;\">Next<\/span>\r\n     <span style=\"color:blue;\">Set<\/span> objAcrobat = Me!ctlWebbrowser.Object.Document\r\n     <span style=\"color:blue;\">On Error GoTo<\/span> 0\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die einzige Anweisung, die etwas bewirkt, weist der Variablen <b>objAcrobat <\/b>das soeben geladene PDF-Dokument zu. Wozu aber ben&ouml;tigen wir die Deaktivierung der Fehlerbehandlung Das ist schnell erkl&auml;rt: Bereits wenn wir das Formular &ouml;ffnen, l&auml;dt das <b>WebBrowser<\/b>-Steuerelement eine Seite, in diesem Fall die Seite mit der Meldung, dass die Adresse ung&uuml;ltig ist.<\/p>\n<p>Auch dieser Vorgang l&ouml;st bereits das Ereignis <b>NavigateComplete2 <\/b>aus. Zu diesem Zeitpunkt sind wir allerdings noch weit davon entfernt, dass das <b>WebBrowser<\/b>-Steuerelement ein PDF-Dokument enth&auml;lt. Folglich l&ouml;st der Versuch, den Inhalt der Variablen des Typs <b>AcroPDF <\/b>zuzuweisen, einen Fehler aus &#8211; und den verhindern wir durch Deaktivierung der Fehlerbehandlung.<\/p>\n<p>Damit k&ouml;nnen wir nun beginnen, die Methoden des <b>AcroPDF<\/b>-Elements hinzuzuf&uuml;gen.<\/p>\n<p><b>Zoom-Funktionen hinzuf&uuml;gen<\/b><\/p>\n<p>Als Erstes f&uuml;gen wir Steuerelemente zum Zoomen hinzu (siehe Bild 8). Die einfache Zoom-Funktion ben&ouml;tigt nur ein Textfeld, in das wir den Zoom-Faktor eingeben. Dieses nennen wir <b>txtZoom<\/b>. Die Schaltfl&auml;che <b>cmdZoom <\/b>rechts daneben stellt den Zoom f&uuml;r das PDF-Dokument ein, indem es die Methode <b>setZoom <\/b>wie in der folgenden Methode aufruft:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_007.png\" alt=\"Steuerelemente zum Zoomen\" width=\"499,6607\" height=\"201,4761\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Steuerelemente zum Zoomen<\/span><\/b><\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdZoom_Click()\r\n     objAcrobat.setZoom Me!txtZoom\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Die <b>setZoomScroll<\/b>-Funktion erwartet zus&auml;tzlich die beiden Parameter, die angeben, wie weit beim Zoomen von oben und von links in das Dokument hineingezoomt werden soll. Daf&uuml;r legen wir zwei weitere Textfelder namens <b>txtZoomX <\/b>und <b>txtZoomY <\/b>an.<\/p>\n<p>Die Schaltfl&auml;che <b>cmdZoomScroll <\/b>ruft die Methode <b>setZoomScroll <\/b>auf und &uuml;bergibt die Werte aus den drei Textfeldern als Parameter:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdZoomScroll_Click()\r\n     objAcrobat.setZoomScroll Me!txtZoom, Me!txtZoomY, _\r\n         Me!txtZoomX\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Damit k&ouml;nnen wir nun beispielsweise wie in Bild 9 zoomen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_009.png\" alt=\"Zoomen in PDF-Dokumenten\" width=\"549,6265\" height=\"389,8234\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Zoomen in PDF-Dokumenten<\/span><\/b><\/p>\n<p><b>Bildlaufleisten und Men&uuml;leisten ein- und ausblenden<\/b><\/p>\n<p>Die n&auml;chsten beiden Steuerelemente sollen dem Benutzer erm&ouml;glichen, die Bildlaufleisten und die Men&uuml;leisten des PDF-Readers ein- und auszublenden. Dazu f&uuml;gen wir dem Formular zwei Kontrollk&auml;stchen namens <b>chkBildlaufleisten <\/b>und <b>chkMenueleisten <\/b>hinzu (siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_010.png\" alt=\"Ein- und Ausblenden von Men&uuml;leiste und Bildlaufleiste\" width=\"700\" height=\"244,0306\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 10: Ein- und Ausblenden von Men&uuml;leiste und Bildlaufleiste<\/span><\/b><\/p>\n<p>F&uuml;r diese hinterlegen wir die folgenden Ereignisprozeduren, die durch das Ereignis <b>Nach Aktualisierung <\/b>ausgel&ouml;st werden:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>chkBildlaufleiste_AfterUpdate()\r\n     objAcrobat.setShowScrollbars Me!chkBildlaufleiste\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>chkMenueleiste_AfterUpdate()\r\n     objAcrobat.setShowToolbar Me!chkMenueleiste\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Dabei &uuml;bergeben wir den beiden Methoden <b>setShow-Scrollbars <\/b>und <b>setShowToolbar <\/b>den jeweiligen Wert der Kontrollk&auml;stchen. Damit die beiden Steuerelemente direkt beim &Ouml;ffnen die richtigen Werte anzeigen, stellen wir die Eigenschaft Standardwert f&uuml;r das Kontrollk&auml;stchen <b>chkBildlaufleiste <\/b>auf <b>Wahr <\/b>und <b>chkMenueleiste <\/b>auf <b>Falsch <\/b>ein.<\/p>\n<p><b>Bl&auml;ttern in den Seiten des PDF-Dokuments<\/b><\/p>\n<p>Nun f&uuml;gen wir die vier Schaltfl&auml;chen <b>cmdErsteSeite<\/b>, <b>cmdVorherigeSeite<\/b>, <b>cmdNaechsteSeite <\/b>und <b>cmdLetzteSeite <\/b>zum Formular hinzu. F&uuml;r diese Schaltfl&auml;chen hinterlegen wir die folgenden Ereignisprozeduren:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdErsteSeite_Click()\r\n     objAcrobat.gotoFirstPage\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>cmdVorherigeSeite_Click()\r\n     objAcrobat.gotoPreviousPage\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>cmdNaechsteSeite_Click()\r\n     objAcrobat.gotoNextPage\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>cmdLetzteSeite_Click()\r\n     objAcrobat.gotoLastPage\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Mit diesen Steuerelementen bl&auml;ttern wir zwischen den Seiten des PDF-Dokuments. Leider k&ouml;nnen wir nicht die aktuelle Seite ermitteln, sodass wir beispielsweise die Schaltfl&auml;chen <b>cmdErsteSeite <\/b>oder <b>cmdVorherigeSeite <\/b>nicht deaktivieren k&ouml;nnen, wenn bereits die erste Seite angezeigt wird. Allerdings liefern die Methoden <b>gotoFirstPage <\/b>und so weiter aber auch keine Fehler, wenn man diese von der ersten Seite aus aufruft.<\/p>\n<p><b>Seite gezielt ausw&auml;hlen<\/b><\/p>\n<p>Mit der Methode <b>setCurrentPage <\/b>k&ouml;nnen wir gezielt die als Parameter angegebene Seite ansteuern. Dazu f&uuml;gen wir dem Formular ein Textfeld namens <b>txtSeite <\/b>hinzu, in das der Benutzer die gew&uuml;nschte Seite eingeben kann. Nach Best&auml;tigen der Eingabe wird das Ereignis <b>Nach Aktualisierung <\/b>ausgel&ouml;st. Die daf&uuml;r angelegte Ereignisprozedur ruft die <b>setCurrentPage<\/b>-Methode mit der angegebenen Seite auf:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>txtSeite_AfterUpdate()\r\n     objAcrobat.setCurrentPage Nz(Me!txtSeite, 0)\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>Drucken der PDF-Dokumente<\/b><\/p>\n<p>Auch f&uuml;r das Drucken stellt die <b>AcroPDF<\/b>-Klasse einige Methoden zur Verf&uuml;gung. Zwei davon drucken den kompletten Inhalt, zwei nur den Inhalt mit den angegebenen Seitenbereichen. Der Unterschied liegt jeweils darin, dass einmal der Inhalt an den druckbaren Bereich angepasst werden kann und einmal nicht. F&uuml;r diese Funktionen f&uuml;gen wir dem Formular die vier Schaltfl&auml;chen <b>cmdPrint<\/b>, <b>cmdPrintAllFit<\/b>, <b>cmdPrintPages <\/b>und <b>cmdPrintPagesFit <\/b>an (siehe Bild 11). Die ersten beiden drucken das vollst&auml;ndige Dokument und l&ouml;sen die folgenden Ereignisprozeduren aus:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_011.png\" alt=\"Steuerelemente zum Drucken\" width=\"499,6607\" height=\"228,0455\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 11: Steuerelemente zum Drucken<\/span><\/b><\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdPrint_Click()\r\n     objAcrobat.printAll\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>cmdPrintAllFit_Click()\r\n     objAcrobat.printAllFit <span style=\"color:blue;\">True<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Damit der Benutzer f&uuml;r die beiden anderen die zu druckenden Seiten angeben kann, f&uuml;gen wir au&szlig;erdem die beiden Textfelder <b>txtErsteSeite <\/b>und <b>txtLetzteSeite <\/b>hinzu. Diese werden von den Ereignisprozeduren, die durch die Schaltfl&auml;chen <b>cmdPrintPages <\/b>und <b>cmdPrintPagesFit <\/b>ausgel&ouml;st werden, wie folgt verarbeitet:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdPrintPages_Click()\r\n     objAcrobat.printPages Nz(Me!txtErsteSeite, 0), _\r\n         Nz(Me!txtLetzteSeite, 0)\r\n<span style=\"color:blue;\">End Sub<\/span>\r\n<span style=\"color:blue;\">Private Sub <\/span>cmdPrintPagesFit_Click()\r\n     objAcrobat.printPagesFit Nz(Me!txtErsteSeite, 0), _\r\n         Nz(Me!txtLetzteSeite, 0), <span style=\"color:blue;\">True<\/span>\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Wurde keine Seitenzahl angegeben, &uuml;bergeben wir also den Wert <b>0 <\/b>als Parameter f&uuml;r die Methoden <b>printPages <\/b>und <b>printPagesFit<\/b>.<\/p>\n<p>Wenn eine Drucken-Methode erstmalig aufgerufen wird, erscheint die Meldung aus Bild 12, die Sie durch Aktivieren der Option <b>Diese Meldung nicht mehr anzeigen <\/b>deaktivieren k&ouml;nnen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_012.png\" alt=\"Meldung vor dem Drucken eines PDF-Dokuments\" width=\"499,6607\" height=\"162,3656\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 12: Meldung vor dem Drucken eines PDF-Dokuments<\/span><\/b><\/p>\n<p><b>Weitere Optionen einstellen<\/b><\/p>\n<p>Zum Einstellen der verschiedenen Optionen f&uuml;r die Ansicht, die jeweils mehrere Werte haben, verwenden wir Kombinationsfelder (siehe Bild 13). Die erste Methode namens <b>setPageMode <\/b>sorgt f&uuml;r die Einstellung der Seitenansicht. F&uuml;r diese legen wir ein Kombinationsfeld namens <b>cboLayout <\/b>an. Die Optionen speichern wir als Liste in der Eigenschaft <b>Datensatzherkunft <\/b>des Kombinationsfeldes:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_013.png\" alt=\"Kombinationsfelder f&uuml;r die Auswahl von Optionswerten\" width=\"499,6607\" height=\"192,5868\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 13: Kombinationsfelder f&uuml;r die Auswahl von Optionswerten<\/span><\/b><\/p>\n<pre>\"DontCare\";\"SinglePage\";\"OneColumn\";\"TwoColumnLeft\";\"TwoColumnRight\"<\/pre>\n<p>Damit diese Liste angezeigt wird, stellen wir au&szlig;erdem die Eigenschaft <b>Herkunftstyp <\/b>auf <b>Wertliste <\/b>ein. Nachdem der Benutzer einen neuen Eintrag ausgew&auml;hlt hat, soll die entsprechende Einstellung angewendet werden.<\/p>\n<p>Dazu hinterlegen wir f&uuml;r das Ereignis <b>Nach Aktualisierung <\/b>die folgende Ereignisprozedur:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cboLayout_AfterUpdate()\r\n     objAcrobat.setLayoutMode Me!cboLayout\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Wenn Sie die Einstellung <b>TwoColumnRight<\/b> ausw&auml;hlen, erscheint das Dokument beispielsweise wie in Bild 14.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_014.png\" alt=\"Einstellen des Seitenlayouts\" width=\"499,6607\" height=\"427,5864\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 14: Einstellen des Seitenlayouts<\/span><\/b><\/p>\n<p><b>Ausw&auml;hlen der Ansicht<\/b><\/p>\n<p>Die anderen beiden Kombinationsfelder gestalten wir analog, allerdings jeweils mit anderen Optionswerten. F&uuml;r die Methode <b>setView <\/b>verwenden wir das Kombinationsfeld <b>cboView<\/b>, dessen Eigenschaft <b>Datensatzherkunft <\/b>wir mit der folgenden Liste f&uuml;llen:<\/p>\n<pre>\"Fit\";\"FitH\";\"FitV\";\"FitB\";\"FitBH\";\"FitBv\"<\/pre>\n<p>Die durch das Ereignis <b>Nach Aktualisierung <\/b>ausgel&ouml;ste Methode sieht wie folgt aus:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cboView_AfterUpdate()\r\n     objAcrobat.setView Me!cboView\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>Ausw&auml;hlen des Seitenmodus<\/b><\/p>\n<p>Mit dem Kombinationsfeld <b>cboPageMode <\/b>legen wir fest, ob nur der Inhalt angezeigt werden soll oder auch die Lesezeichen oder Thumbnails. Deshalb hinterlegen wir f&uuml;r die Eigenschaft <b>Datensatzherkunft <\/b>die folgende Wertliste:<\/p>\n<pre>\"none\";\"bookmarks\";\"thumbs\"<\/pre>\n<p>Die durch das Ereignis <b>Nach Aktualisierung <\/b>ausgel&ouml;ste Prozedur ruft die Methode <b>setPageMode <\/b>mit dem Wert des Kombinationsfeldes auf:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cboPageMode_AfterUpdate()\r\n     objAcrobat.setPageMode Me!cboPageMode\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p>Das Ergebnis sieht wie in Bild 15 aus &#8211; hier mit der Anzeige der Thumbnails.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_015.png\" alt=\"Einstellen des Randbereichs\" width=\"499,6607\" height=\"402,0258\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 15: Einstellen des Randbereichs<\/span><\/b><\/p>\n<p><b>PDF direkt laden<\/b><\/p>\n<p>Wenn Sie einmal mit der Schaltfl&auml;che <b>cmdPDF-Oeffnen <\/b>ein PDF-Dokument in das <b>WebBrowser<\/b>-Steuerelement geladen haben und somit die Objektvariable <b>objAcrobat <\/b>gef&uuml;llt ist, k&ouml;nnen Sie auch die Methode <b>LoadFile <\/b>nutzen, um ein PDF-Dokument zu &ouml;ffnen. Der Unterschied ist, dass die rechte Werkzeugleiste immer mit geladen wird &#8211; und auch die Men&uuml;leiste (siehe Bild 16).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_05\/pic_1250_016.png\" alt=\"Laden eines anderen PDF-Dokuments\" width=\"649,559\" height=\"379,5776\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 16: Laden eines anderen PDF-Dokuments<\/span><\/b><\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>cmdPDFLaden_Click()\r\n     <span style=\"color:blue;\">Dim <\/span>strPDF<span style=\"color:blue;\"> As String<\/span>\r\n     strPDF = OpenFileName(CurrentProject.Path, _\r\n         \"PDF ausw&auml;hlen\", \"PDF-Dokumente (*.pdf)\")\r\n     Me!txtPDFDokument = strPDF\r\n     objAcrobat.LoadFile strPDF\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Mit dem <b>WebBrowser<\/b>-Steuerelement k&ouml;nnen Sie nicht nur einfach PDF-Dokumente im <b>AcroPDF<\/b>-Steuerelement anzeigen, sondern auch dieses auch noch automatisieren. Damit lassen sich Ansichten, Zoom-Faktoren oder Seiten ausw&auml;hlen und Sie k&ouml;nnen das PDF-Dokument drucken.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>PDFImWebbrowser.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/53631334-B330-4D26-85A0-C92932B2D3E6\/aiu_1250.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Immer wieder erhalten wir Fragen danach, wie man PDF-Dokumente einfach in Access-Formularen anzeigen kann. Die einfachste Variante scheint die mit dem Web-Browser-Steuerelement zu sein, mit dem man zu einem auf der Festplatte befindlichen PDF-dokument navigiert. Der vorliegende Beitrag zeigt nicht nur, wie Sie das Dokument anzeigen, sondern liefert auch noch einige M&ouml;glichkeiten f&uuml;r die Handhabung des PDF-Dokuments. Dazu geh&ouml;ren das Zoomen, Drucken, Einstellen verschiedener Ansichten und Layouts und vieles mehr.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662020,66052020,44000026],"tags":[],"class_list":["post-55001250","post","type-post","status-publish","format-standard","hentry","category-662020","category-66052020","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PDF-Dokumente im WebBrowser-Steuerelement - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PDF-Dokumente im WebBrowser-Steuerelement\" \/>\n<meta property=\"og:description\" content=\"Immer wieder erhalten wir Fragen danach, wie man PDF-Dokumente einfach in Access-Formularen anzeigen kann. Die einfachste Variante scheint die mit dem Web-Browser-Steuerelement zu sein, mit dem man zu einem auf der Festplatte befindlichen PDF-dokument navigiert. Der vorliegende Beitrag zeigt nicht nur, wie Sie das Dokument anzeigen, sondern liefert auch noch einige M&ouml;glichkeiten f&uuml;r die Handhabung des PDF-Dokuments. Dazu geh&ouml;ren das Zoomen, Drucken, Einstellen verschiedener Ansichten und Layouts und vieles mehr.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-02T09:00:59+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"16\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"PDF-Dokumente im WebBrowser-Steuerelement\",\"datePublished\":\"2020-10-02T09:00:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/\"},\"wordCount\":2839,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/c2fb480527f3451490aa9950187d4b8e\",\"articleSection\":[\"2020\",\"5\\\/2020\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/\",\"name\":\"PDF-Dokumente im WebBrowser-Steuerelement - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/c2fb480527f3451490aa9950187d4b8e\",\"datePublished\":\"2020-10-02T09:00:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/c2fb480527f3451490aa9950187d4b8e\",\"contentUrl\":\"http:\\\/\\\/vg07.met.vgwort.de\\\/na\\\/c2fb480527f3451490aa9950187d4b8e\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/PDFDokumente_im_WebBrowserSteuerelement\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PDF-Dokumente im WebBrowser-Steuerelement\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PDF-Dokumente im WebBrowser-Steuerelement - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/","og_locale":"de_DE","og_type":"article","og_title":"PDF-Dokumente im WebBrowser-Steuerelement","og_description":"Immer wieder erhalten wir Fragen danach, wie man PDF-Dokumente einfach in Access-Formularen anzeigen kann. Die einfachste Variante scheint die mit dem Web-Browser-Steuerelement zu sein, mit dem man zu einem auf der Festplatte befindlichen PDF-dokument navigiert. Der vorliegende Beitrag zeigt nicht nur, wie Sie das Dokument anzeigen, sondern liefert auch noch einige M&ouml;glichkeiten f&uuml;r die Handhabung des PDF-Dokuments. Dazu geh&ouml;ren das Zoomen, Drucken, Einstellen verschiedener Ansichten und Layouts und vieles mehr.","og_url":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-10-02T09:00:59+00:00","og_image":[{"url":"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"PDF-Dokumente im WebBrowser-Steuerelement","datePublished":"2020-10-02T09:00:59+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/"},"wordCount":2839,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e","articleSection":["2020","5\/2020","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/","url":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/","name":"PDF-Dokumente im WebBrowser-Steuerelement - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#primaryimage"},"thumbnailUrl":"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e","datePublished":"2020-10-02T09:00:59+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#primaryimage","url":"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e","contentUrl":"http:\/\/vg07.met.vgwort.de\/na\/c2fb480527f3451490aa9950187d4b8e"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/PDFDokumente_im_WebBrowserSteuerelement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"PDF-Dokumente im WebBrowser-Steuerelement"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001250"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001250\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}