![]() |
Draw im PDF
Hallöle...8-)
Ich weiß noch nicht wie an das Thema herangehe...oder wie macht man es richtig. :wink: Hintergrund: Cheffe will Texte markieren/durchstreichen und das farblich. Entweder Freihand oder markieren und/oder Textattribute ändern. Grundsätzlich soll das Zeichen imho auf einem separaten Layer passieren. Ich habe: DevExpress PDF Viewer, DynaPDF Für Infos bin ich dankbar. 8-) |
AW: Draw im PDF
Mir scheint, du hast schon die richtigen Werkzeuge.
Da DynaPDF so viele Eigenschaften bereit stellt, musste ich auch schon einige Male nachfragen. Vllt. ist es daher am Besten wenn du direkt bei Herrn Boschulte nachfragst mit welchen Methoden du zu deinem Ziel kommst. info@dynaforms.de Man bekommt hier sehr schnell guten Support. Vllt. kannst du die hier dann veröffentlichen ob und mit welchen Methoden deine Anforderungen mit DynaPDF umsetzbar sind. Sorry, ist jetzt keine direkte Hilfe von mir (ich hatte diese Anforderung bisher noch nicht). |
AW: Draw im PDF
Danke...:wink:
Habe ich schon gemacht... Zitat:
Außerhalb vom PDF den Canvas zu erstellen, und mit DynaPDF auf den neuen Layer legen, macht imho auch keinen Sinn. Stichwort Aktualisierung der Ansicht, Zoomstufe etc. :? |
AW: Draw im PDF
Ich habe bisher auch nur den PDF-Viewer von DevExpress genutzt, sehe aber in den Dyna-PDF-Beispielen, dass es einen Ordner
\DynaPDF\dynapdf\examples\Delphi\pdfviewer\ gibt. Vllt. hilft das? |
AW: Draw im PDF
Zitat:
Da müßte ich mir aber einen eigenen Viewer bauen. :cry: Habe ich noch gefunden: ![]() ...aber heute nicht mehr. :wink: |
AW: Draw im PDF
Liste der Anhänge anzeigen (Anzahl: 2)
Update:
Ich versuche mal als Test das Adobe OCX auszuprobieren...:wink: Hat das jemand schon installiert bekommen? :roll: 1. ActiveX importiert 2. TLB ist da 3. Import in neues Package -> Bild1 "Erfolg" bis auf die nicht unterstützten Sprachfeatures 4. Installation -> Bild2 "Fehler" :roll: ...was ist falsch. :gruebel: PS: Alternativen? |
AW: Draw im PDF
Wenn die Zeichnung / Markierung im PDF permanent bleiben soll: dann die entsprechenden PDF Annotations (PDF Spec 1.7, 12.5 Annotations / Markup Annotations) erstellen. Die sollte dann auch der DevExpress Viewer anzeigen, sobald Du dort das PDF dann aktualisierst.
Eigenes Layer: du mußt all diese PDF Kommentare in eine eigene OptionalContentGroup (OCG) einbetten. Und nun viel Spaß beim Durcharbeiten der PDF Spezifikation. edit: was Du suchst sind Text Markup Annotations (12.5.6.10) zum Markieren / Unterstreichen / Durchstreichen von Text bzw. für Freihand die Ink Annotations (12.5.6.13). |
AW: Draw im PDF
Zitat:
|
AW: Draw im PDF
@haentschman: noch ein paar Hinweise, denn das Ganze ist alles andere als trivial:
- wenn Text markiert werden soll, dann mußt Du irgendwie die PDF Koordinaten des Textbereichs herausbekommen. Eventuell bietet DynaPDF, hier eine Möglichkeit, sich diesen Koordinatenbereich via Textextraktion geben zu lassen. - mit diesen kannst Du dann eine entsprechende Annotation erstellen (die dann über dem Text selbst liegt) - Danach wirst Du das PDF speichern und erneut in den DevExpress Viewer laden müssen, um es anzuzeigen. - bei Freihand wird's minimal einfacher: hier mußt Du nur die Maus Koordinaten aufzeichnen und in PDF Koordinaten umrechnen lassen und dann damit die Ink-Annotation erstellen. - Du kannst zwar theoretisch alles selbst zeichnen, in dem Du dir eine Art Aufzeichnungslayer über der PDF Viewer-Komponent erstellst und dort Markierungen / Linien zeichnest. Dann hast Du sofort den visuellen Feedback. Nur mußt Du dann darauf achten, ob du den auch 1 zu 1 so im PDF erstellen lassen kannst. Das hängt dann nämlich vom Viewer ab. - teste auch, was passiert, wenn deine PDFs eine Seitendrehung definiert haben. Das wird nämlich bei der Berechung der PDF Koordinaten interessant. Generell wird das Problem sein: Wenn Cheffe mit der Maus den Bereich markiert oder hinein zeichnet, will er ja auch sehen, was sich da gerade tut. Hier mußt Du dir etwas überlegen, wie man zumindest minimal ein visuelles Feedback geben kann und erst das Beenden der Aktion zeigt dann die Darstellung via PDF Annotation / Viewer an. Oder man zeichnet immer alles selbst, dann muß man aber dafür sorgen, daß der Viewer die eigenen Annotations nicht anzeigt bzw. beim Speichern müssen diese entsprechend erkannt / modifiziert oder gelöscht werden. Eventuell kannst Du auch MS Edge als PDF Viewer einbinden. Dort scheint es entsprechende Möglichkeiten zum Anlegen von Annotations zu geben: ![]() Hab ich selbst aber noch nicht getestet. |
AW: Draw im PDF
Liste der Anhänge anzeigen (Anzahl: 2)
Update:
Auch mit WebView2(Edge) fehlt das Bearbeiten... :? ![]() ![]() Frage: Hat jemand das Adobe OCX und kann damit "Markieren"? Meins will nicht... |
AW: Draw im PDF
Diese Funktionen wurden entfernt aus dem PDF-Reader innerhalb des Webview2 und werden wohl auch nicht wieder kommen.
Muss die PDF-Datei denn innerhalb Deines Programms angezeigt werden? Ansonsten kannst Du den Edge-Browser im App-Modus aufrufen und die PDF-Datei übergeben: "%ProgramFiles(x86)%\Microsoft\Edge\Application\ms edge.exe" "--app=PDFDatei.pdf" Könnte doch schon reichen so, oder? Vor allem, wenn das eine interne Funktion ist nur für "Cheffe" :) PDF-Annotation selbst implementieren ist doch viel zu aufwendig. Wenn Du einen PDF-Reader im Programm hast und das so bleiben soll, würde ich vielleicht einen Button machen "Bearbeiten" und dann mit obigem Befehl den Edge-Viewer aufrufen. Evtl. musst Du noch ein bisschen etwas drumherum entwickeln, um die geänderte Datei wieder einzulesen oder das Fenster zu schließen. Wenn doch alles im eigenen Programm passieren soll, wäre ein andere Möglichkeit, die Annotationen nur in einem zusätzlichen Layer in Delphi über der PDF-Datei zu zeichnen und gar nicht in die Datei einzubinden. Wenn die PDF nur in Deinem Programm angezeigt wird, wärst Du so auch flexibel, sie ein-/auszublenden, zu löschen, auszuwerten etc. und die Original-Datei bleibt erhalten. |
AW: Draw im PDF
Zitat:
![]() |
AW: Draw im PDF
Bei uns ist der Teil noch mit TIFF, wobei wir das Gemalte als XML im DMS daneben liegen haben. (ImageEn)
Aber da wir inzwischen auch den FastReport auf PDF umgestellt haben, wäre als Plan irgendwann mal auch den Import auf PDF umzustellen, also Import/Scan/Drucken mit dem selben Dateien/Modulen und auch überall die selben Editoren. > Kunden wollen Markieren und virtuell Stempel oder Unterschriften drauf machen. Einiges kann des PDF von DevExpress schon, aber mehr als ein Bild, sowie grade die Unterschriften, inkl. Signierungung (für die Echtheit), da hängt es seit Jahren. Markieren und bissl Malen soll aber schon gehn. |
AW: Draw im PDF
Zitat:
Die Dokumente (100 neue am Tag von verschiedenen Niederlassungen) liegen als Stream in der DB und laufen zwischen "zugelassenen" Benutzern hin und her (verschiedene Bearbeitungen)...ohne Papier. :dancer2: Der Cheffe ist einer davon. Im Abschluß geht es als physikalisches PDF auf die Platte ins Archiv... Zitat:
Zitat:
Danke für eure Beteiligungen...:cheers: |
AW: Draw im PDF
Zitat:
Zitat:
Hast Du den Aufruf mal ausprobiert einfach über die Windows-Kommandozeile? So würde das aussehen, nur dass Du es aus eurem Programm startest. Du könntest überwachen, ob sich die Datei ändert und sie dann ggf. wieder einlesen. Natürlich hast Du dann ein zusätzliches Icon in der Taskbar und die PDF-Bearbeitung in einem separaten Fenster. Der PDFViewer in Edge basiert soweit ich weiß (noch) auf PDFium wie auch in Chrome. Evtl. könnte man das auch mit einer direkten Einbindung von PDFium lösen. Ich weiß nur nicht, ob es schon eine gibt, mit der man Annotationen erstellen kann. Das ist wohl eine Erweiterung der Benutzeroberfläche von Microsoft. Ich habe jedoch gelesen, dass Microsoft den internen Viewer ersetzen will durch die Engine von Adobe. Da muss man sich also auf eine Änderung gefasst machen, aber ich denke nicht, dass Funktionen wegfallen werden. |
AW: Draw im PDF
Zitat:
Zitat:
|
AW: Draw im PDF
Man könnte die Anmerkungen ja beim Anhängen vorher entfernen.
Also einmal reicht eigentlich. Wir speichern die nur einzeln, weil wir früher was mit JPEGs (eine Datei pro Seite) im DMS hatten, die uralte Komponente dann durch eine Andere ersetzen mußten. Dann nicht wieder in der Falle hängen wollten, wenn die Anmerkungen propitär gespeichert sind, drum das Speichern der Anmerkungen in eine eigene XML gelegt (ins TIFF rein, ging ja eh nicht ... ImageEn hätte ein eigenes spezielles mehrseitiges komprimiertes Bitmapformat). Wenn/da PDF das per se in sich selbst kann, würden wir es dann zukünftig dort speichern wollen. (alles zusammen in einer Datei) Unser DMS in der Datenbank verwaltet, aber die Dateien im Dateisystem (wollten Kunden, dass es nicht mehr in der DB liegt, vor allem zu der Zeit, als ein Kunde bestimmte Dokumenttypen auch noch speziell auf einem ) |
AW: Draw im PDF
Ein Kollege hatte damals das gemacht.
Würde vermuten, dass es da vielleicht was in den Demos gibt? DevExpress\Demos\ExpressPDFViewer\Delphi Leider ist bezüglich PDF bei DevExpress das im WinForms weit vorgeschritten, während es in der VCL arg hängt. ![]() ![]() ![]() Zitat:
Bezüglich embedded Dokumenten, hatten wir zuletzt, wegen ZUGFerD und Co., da wieder bissl rumgespielt. Zu den Stempeln und Unterschriften, (noch) beim TIFF, haben wir auch noch Passwortprüfungen und SQL zu jedem hinterlegt, beim Hinzufügen und Entfernen, was dann in der DB, z.B. beim OK- und Fehler-Stempel auf den Rechnungen und Anderem, entsprechnd die Daten anpasst. Sowas müssten wir dann bei der Umstellung auf PDF ebenfalls mit beachten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz