Universal "Dokument/Bild-viewer" für Delphi?
Möchte ich der Ansicht (nur) Bilder, Dateien und einige gemeinsame Dokumente (PDF, RTF, TEXT, etc) in mein Delphi-Programm, die ich gefunden habe, zwei Möglichkeiten, das zu tun,
- über AtViewer, aber die Datei ist zu groß.
- Über den eingebetteten Internet Explorer installiert auf dem computer des Benutzers direkt.
Frage ich mich, gibt es alternativen? Danke.
- Verwenden Sie eine
TRichEdit
kombiniert mit einemTPicture
(nur einer von Ihnen zu einem Zeitpunkt)? (Ich habe noch nie gehört PDFT, obwohl. Vielleicht verweisen Sie auf das PDF - Sie können dann mit dem Adobe Reader ActiveX-Steuerelement. Beachten Sie auch, dass, obwohl dieTRichEdit
RTF-Dateien öffnen kann, es kann nicht geöffnet werden DOC/DOCX-Dateien, die sind weit häufiger.) - Hi Andreas, danke für die Idee. Ich meine PDF 🙂 sorry für die Verwirrung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Möglichkeiten, um hier zu gehen:
Ich persönlich mag, um meine Quelle "delphi". Wenn es um die Darstellung von Bildern in Delphi ist gesegnet mit vielen third-party-Bibliotheken, die Sie mit Unterstützung für nahezu jedes Bildformat denkbar.
Bilder
ImageEN ist ein gutes Paket (gewerblich) und vielleicht möchten Sie auch die kostenfreien Vapyre Image Library (der name ist ein wenig.. naja, aber es ist ein tolles Produkt). Schnell hinzufügen von Unterstützung für die gängigsten Formate, GraphicsEX ist eine traditionelle Delphi-Erweiterung viele Entwickler verwenden. Sie haben auch FreeImage, die Sammlung von DLL - Dateien- aber mit Delphi-wrapper-Klassen, um Sie einfach zu verwenden. werfen Sie einen Blick in den Grafik-Abschnitt auf Torry ' s Delphi Pages (google es) und finden Sie robuste Unterstützung.
PDF
Für die PDF-Vorschau/Lesen, würde ich einen Blick auf Gnostice Produkt-Linie. Sie bieten nativen Delphi-Komponenten für die Erzeugung und Anzeige von PDF-Dateien (http://www.gnostice.com/). Alternativ (für PDF) ich würde wahrscheinlich gehen für die ActiveX-Komponenten, die im Lieferumfang der Adobe PDF-reader. Aber dann haben Sie, um zu überprüfen, dass diese Objekte werden registriert und verfügbar, um Ihre Anwendung zu starten.
Also für Ihre "universal viewer" würde ich
HTML
Für die Anzeige von HTML sind Sie im Glück, als Delphi hat seinen eigenen native Web-renderer. Es wurde geschrieben von Steve Baldwin und heißt THTMLViewer. Es wurde veröffentlicht als Open-Source, und finden Sie es auf google-Projekte.
Windows (seit XP wenn ich mich Recht erinnere) verwendet die
IExtractImage
Schnittstelle erzeugen Sie eine Miniaturansicht für eine Datei in der Miniaturansicht, wenn es ein Objekt hat, aufgeführt für Ihre Datei-Typ.Diese Objekte sind erreichbar durch den code, und Sie können Sie zum generieren von thumbnails für jede Datei, die eine Miniaturansicht im Windows-Explorer als auch. (Ich glaube sogar miniaturen aus bedient werden die thumbnail-cache (
Thumbs.db
), wenn es in der Bild Größe, die Sie sind, anfordert.)Gibt es hier mehr:
http://yoy.be/item.asp?i1490
oder hier:
http://msdn.microsoft.com/en-us/library/bb775073(v=vs. 85).aspx
Ich würde vorschlagen, dass Sie schreiben Sie Ihre eigenen viewer TForm, das sieht die Datei angesehen zu werden und wird einer von drei (oder vier, oder fünf) Dinge mit ihm:
Wenn es ein PDF-oder HTML-Format, laden Sie es mit einem eingebetteten IE-webbrowser (von TEmbeddedWB http://www.bsalsa.com ist besser als die mitgelieferte VCL-DH wrapper TwebBrowser).
Wenn es ein Bild ist, laden Sie Sie in einem Bild-viewer-Steuerelement, das die Größe/scaleing/scrolling unterstützen.
Wenn es eine text-Datei oder RTF-Datei, laden Sie Sie in ein RichEdit.
Wenn es ein OLE-Typ, können Sie es in ein OLE-container-Ansicht.
Den eingebetteten viewer zeigt beliebige Dokumente - aber wenn es etwas, das erfordert einen externen viewer, dann wird dies angezeigt, die außerhalb des IE - TIFFs für jeden angezeigt werden (standardmäßig) in der Bild-viewer.