Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Draw im PDF (https://www.delphipraxis.net/215482-draw-im-pdf.html)

haentschman 12. Jul 2024 15:00

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-)

juergen 12. Jul 2024 15:50

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).

haentschman 12. Jul 2024 16:03

AW: Draw im PDF
 
Danke...:wink:

Habe ich schon gemacht...
Zitat:

das geht ganz einfach: Sie erzeugen einen neuen Layer (bzw. OCG in PDF Syntax) oder nehmen einen bestehenden Layer (siehe GetOCG() / GetOCGCount()) und aktivieren diesen mit BeginLayer(), nachdem sie die gewünschte Seite mit EditPage() geöffnet oder mit Append() erzeugt haben.

Wenn alle Objekte ausgegeben wurden, beenden sie die Ausgabe wieder mit EndLayer().

Es können vor und nach einem Layer beliebige andere Objekte ausgeben werden. Außerdem kann eine Seite beliebig viele Layer verwenden.

Die Beispiele layers und layer_tree zeigen ebenfalls wie es geht.

Grüße

Jens Boschulte
Das ändert nichts an der Tatsache das im VIEWER (VCL), den der Chef bedient, es zeichen soll. :zwinker: DynaPDF stellt keinen Viewer zur Verfügung. Beim DevExpress Viewer habe ich imho nur den Canvas der gesamten Komponente. Das nützt mir nix. Ich brauche den Canvas/zusätzlichen Layer jeder einzelnen Seite. Den habe ich nicht nicht gefunden. Einen Layer hinzufügen ist auch nicht drin. :cry:

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. :?

juergen 12. Jul 2024 16:12

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?

haentschman 12. Jul 2024 16:25

AW: Draw im PDF
 
Zitat:

Vllt. hilft das?
...bedingt. Die Demo kann nur Standard Funktionen. Mit der Info von Herrn Boschulte wäre es möglich das aufzubohren...:zwinker:
Da müßte ich mir aber einen eigenen Viewer bauen. :cry:

Habe ich noch gefunden:
https://supportcenter.devexpress.com...ace-coodinates
...aber heute nicht mehr. :wink:

haentschman 15. Jul 2024 08:19

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?

ULIK 15. Jul 2024 09:21

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).

haentschman 15. Jul 2024 09:44

AW: Draw im PDF
 
Zitat:

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).
...danke.

ULIK 15. Jul 2024 10:23

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: https://www.howtogeek.com/725554/how...icrosoft-edge/
Hab ich selbst aber noch nicht getestet.

haentschman 15. Jul 2024 14:55

AW: Draw im PDF
 
Liste der Anhänge anzeigen (Anzahl: 2)
Update:
Auch mit WebView2(Edge) fehlt das Bearbeiten... :?
https://stackoverflow.com/questions/...pdf-draw-tools
https://github.com/MicrosoftEdge/Web...ck/issues/1638 :evil:

Frage:
Hat jemand das Adobe OCX und kann damit "Markieren"? Meins will nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz