Tastenkombination an COM-Objekt reichen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von rrobbyy.

    Tastenkombination an COM-Objekt reichen

    Hallo zusammen,

    ich habe ein ziemliches simples Programm.
    Eine Form, auf dem das Control aus dem COM-Objekt "Adobe PDF Reader" platziert ist.
    mit

    VB.NET-Quellcode

    1. AxAcroPDF1.LoadFile(<Dateipfad>)


    wird die PDF wunderbar geöffnet.

    Wenn die aktuelle Version von Adobe Reader installiert ist, wird nach dem Laden der PDF unten eine schwebende Toolbar angezeigt. Diese möchte ich direkt ausblenden, damit der User nix machen kann, außer lesen (die User wissen die Tastenkombination eh nicht, um das Ding wieder einzublenden), was mit der Tastenkombination "STRG h" möglich ist.

    Dafür steht nach dem Laden dies:

    VB.NET-Quellcode

    1. SendKeys.Send("^h")


    Aber es bewirkt keine Änderung. Die Toolbar bleibt. Manuell funktioniert das.

    Selbst wenn ich das control per code fokussiere wird das nicht weitergereicht....
    ich habe es auch mit c# probiert, und dort auch eine await platziert, aber nix zu machen.

    vielleicht habt ihr eine Idee?
    @rrobbyy Wenn Dir eine einfache Anzeige des PDF-Dokuments genügt, sieh Dir mal die Dateivorschau per Interface IPreviewHandler an:
    Dateivorschau per Interface IPreviewHandler
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    sehr gut! das funktionert, auch mit großen dateien! danke für den Tipp...

    wenn die "dusseligen" user nicht immer mit ihren anforderungen tage später um die ecke kommen würden....war ja klar, dass die jetzt eine suchmöglichkeit haben möchten, was mit dem previewhandler wohl nicht möglich ist. und pdfium hat das "probem", dass dort auch speichern und drucken verfügbar ist.

    vielleicht habt ihr da noch einfälle:
    die anforderung ist jetzt so, pdfs anzeigen zu lassen, inkl. suche nach texten ink. sprung zu dem fundstellen (alle pdfs haben ocr integriert). aber die pdfs dürfen nicht gedruckt oder separat gespeichert werden dürfen.

    das programm zur anzeige habe ich fertig. das tool zeigt alle pdfs in einer listbox an mit klick auf einen eintrag wird die vorschau geöffnet.
    @rrobbyy Mit der Preview kommst Du, mit den zusätzlichen Anforderungen, nicht weiter. Entweder es gibt da noch andere PDF-Viewer (NuGet) die das können was Du möchtest, oder Du programmierst Dir, leider erst ab Win10 möglich weil das über die WinRT geht, alles selber. Zum einen gibt es PDF, Seiten als Bilder anzeigen und extrahieren Damit kannst Du erstmal die Seiten einer PDF als Bilder rendern und diese zur Anzeige bringen. Nachteil: Links und ausfüllbare Felder funktionieren dann natürlich in einem Bild nicht. Für eine einfache Texterkennung auf Bildern wäre evtl. das hier etwas: OCR mit Windows-Boardmitteln (ab Windows 10) Dieser liefert Dir neben dem Text, auch die Position und Dimension der einzelnen Wörter auf dem Bild. Mit den entsprechenden Angaben von Position usw. könnte man das gesuchte markieren/umranden.

    Da meine Beispiele ohne Referenzen auskommen, ist es eventuell für einige Schwierig das ganze nachzuvollziehen/zu durchblicken. Falls Du lieber mit Referenzen arbeiten möchtest, geht das noch bis NET Framework 4.8.xx indem Du Dir eine Referenz auf die Windows.winmd einbindest. Die Windows.winmd liegt bei mir zb hier: C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.22621.0\Windows.winmd (die 10.0.22621.0 kann auch ein anderer Ordner sein, jenachdem welche Version des SDK Du installiert hast). Eventuell, falls noch nicht geschehen, müsstest Dir das Windows 10 SDK vorher installieren damit die Windows.winmd vorhanden ist. Weiterhin bräuchtest Du das NuGet-Paket System.Runtime.WindowsRuntime.dll.

    Ansonsten kann ich Dir noch die entsprechend MS-Doku Seiten empfehlen:
    learn.microsoft.com/en-us/uwp/…data.pdf?view=winrt-22621
    learn.microsoft.com/en-us/uwp/…edia.ocr?view=winrt-22621

    Zu den beiden genannten Möglichkeiten findest Du auch einiges an Beispielen und Infos über die Suchmaschine Deines Vertrauens.
    Mfg -Franky-
    Vielen Dank für die Infos. Die OCR von Windows hatte ich überhaupt nicht auf dem Schirm! Um so besser, denn das wird bestimmt bei einem anderen Projekt hilfreich sein!

    Denn for vor einige Minuten habe ich eine weitere Info von SumatraPDF bekommen...hier kann man über eine Ini einstellen, wie das Programm geöffnet werden soll, bspw. dass Drucken und Speichern nicht möglich sein soll. Perfekt! Und das schöne, Sumatra ist richtig schnell.

    https://www.sumatrapdfreader.org/docs/Configure-for-restricted-use

    Heißt, ich rufe über meine Listbox mit den PDFs einfach Sumatra mit den entsprechenden Einstellungen auf!



    Vielen Dank nochmal