Forum: PC-Programmierung Argumente bzw. Idee für PDF-Anzeige?


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich brauche mal bitte einige Tips bzw. Denkanstösse. Eine (Druck-) 
Branchensoftware stellt die Auftragsunterlagen als PDF bereit, die dann 
an den BDE-Terminals an den einzelnen Kostenstellen (Maschinen) 
angezeigt werden können.
Im Rahmen eines geplanten Redesigns dieser Software wird auch das 
bisherige Konzept hinterfragt: Eine Serveranwendung/DB-Multiplexer (im 
Folgenden Server genannt) überträgt das angeforderte PDF (nur Text, 
wenige KB) zum Clienten und der rendert das selbst zur Anzeige in Pixel 
(dynapdf.dll).
Nun keimt die Idee auf, auf Seiten des Servers evtl. bereits das PDF in 
PNG zu wandeln und dieses auf den Clients anzuzeigen. Das erfodert keine 
Lizenzen für die Lib und der PNG-Interpreter ist auch deutlich 
schlanker, was die Clienthardware entlastet (Mini-PC). Allerdings erhöht 
sich der Traffic (PNGs sind in unserem Falle größer) und natürlich die 
Belastung des Servers ... was ist wohl besser?

Frank

von Olaf K. (oko)


Lesenswert?

> Folgenden Server genannt) überträgt das angeforderte PDF (nur Text,
> wenige KB) zum Clienten und der rendert das selbst zur Anzeige in Pixel

> Belastung des Servers ... was ist wohl besser?

weder pdf noch png.
Wenn es reiner Text ist würde ich auch mal in Richtung HTML denken...

Grüßigkeiten

von Tom E. (tkon)


Lesenswert?

>  ... was ist wohl besser?

Das kann man so einfach ohne weitere Informationne nicht beantworten.

Du solltest mal die Kosten der beiden Varianten vergleichnen:
1. Lizenzenkosten und Mehrkosten Clienthardware
2. Kosten für Server/Switches und Bandbreite, sowie Redesign


Vielleicht wäre auch DJVU eine Alternativ, ist nach meiner Erfahrung 
meist um einiges sparsamer als PNG.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Die Branchensoftare stellt PDF bereit, daran ist Nichts zu ändern.

> Wenn es reiner Text ist würde ich auch mal in Richtung HTML denken

Naja, ist stark Tabellenlastig, mit vielen Trennlinien und wechselnden 
Spalten - ein ziemlich koplexes Formular mit mindestens A4.

Eine HTML-Rendering-Engine ist auch nicht schlanker als die für PDF, 
oder?
Dann habe ich die Konvertierung zweimal: Server mit PDF->HTML und auf 
dem Client HTML->Pixel.

> Vielleicht wäre auch DJVU eine Alternativ, ist nach meiner Erfahrung
> meist um einiges sparsamer als PNG.

Womit wandle ich PDF nach DJVU? Gibts eine dll oder command line 
Version?
Wie zeige ich das an?

von Purzel H. (hacky)


Lesenswert?

pdf nach png ist schlecht. Denn hin und wieder muss man in das pdf 
reinzoomen. Das kann man dann nicht mehr. Zur Hardware... ein PC ? 
Betriebssystem ?

von Klaus W. (mfgkw)


Lesenswert?

Muß man zum Rendern von PDF bezahlen?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

> pdf nach png ist schlecht. Denn hin und wieder muss man in das pdf
> reinzoomen. Das kann man dann nicht mehr. Zur Hardware... ein PC ?

Nein, in dem Falle kein Zoom. Die Auftragsdaten werden nahezu fullscreen 
auf einem Touchscreen-Monitor angezeigt. Es ist lediglich ein vertikales 
Scrollen (ggf. über Seitengrenzen hnweg) erlaubt. Die Schriftgrößen sind 
so festgelegt, dass kein Zoom nötig bzw. vorgesehen ist.

Hardware sind Mini-PC unter XPE, 1GHz, 512 MB Ram, 40 GB Platte, 100 
MBit Ethernet, 15-Zoll ELO-Touch 800 x 600, Barcodereader, keine 
Tastatur. Alle Funktionalität soll in einer App enthalten sein (wie 
bisher auch).

Frank

von Karl H. (kbuchegg)


Lesenswert?

Frank Esselbach schrieb:

> Hardware sind Mini-PC unter XPE

Dann würde ich trotzdem mein Glück mit HTML versuchen.
Den Browser kriegst du lizenzkostenfrei. Und darum gings ja in erster 
Linie, wenn ich das richtig verstanden habe

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ein Javaapplett könnte auch schon genügen es gibt von Sun eine (mehr 
oder minder ausgereifte) kostenfreie PDF Viewer Version womit man PDFs 
anschauen und sogar navigieren kann. Nur mit manchen komsichen 
Farbschemen tut sich die Lib schwer. Ich benutze das auch in einer 
Applikation um eine Vorschau auf PDF Grafiken zu ermöglichen.

von Purzel H. (hacky)


Lesenswert?

Ja. Browser Darstellung ist wahrscheinlich optimal. Mit Javascript und 
Ajax kann man viel machen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Pro Server-Rendering:

Könnte der Punkt Updates relevant sein/werden?
Wenn du x Clients eine neue PDF-DLL verpassen musst, ist das schwieriger 
als das einmal zentral auf dem Server zu machen.

Könnte der Punkt DRM relevant sein/werden?
PDFs kann man signieren, vorm Speichern schützen, vorm Drucken schützen. 
Wenn du solche PDFs ausliefern willst, wäre die Wandlung ins PDF-Format 
auf dem Server zwingend.

Könnte der Punkt schwächere/doofe Clients relevant sein/werden?
Vom Server entsprechend aufbereitete Dokumente kann man auch auf 
schwächere Endgeräte ausgeben, z.B. Mobilgeräte (PDAs) oder Drucker

Kontra Server-Rendering:

Die Endgeräte "wissen" um ihre optimale Darstellungsmöglichkeiten. Daher 
sollten sie sich auch darum kümmern. Bei vielen unterschiedlichen 
Clients oder gleichen Clients mit unterschiedlicher 
Einstellung/Darstellung müsste der Server alle Clients bedienen können, 
wenn er für sie rendern soll.

Könnte der Punkt DRM relevant sein/werden?
PNGs fallen IMHO raus, weil sie als Endformat nur schwer mit DRM 
versehen werden können.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

DRM spielt keine Rolle. Es werden nur PDFs angezeigt, die die parallel 
laufende Branchensoftware extra für diesen Zweck produziert. Es gibt in 
diesem Bereich keine Fremd-PDFs von ausserhalb.

Alle Clients sind baugleich bzw. haben den gleichen Touchscreen und 
damit die gleiche Auflösung und Farbtiefe.

Frank

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Frank Esselbach schrieb:
> Hardware sind Mini-PC unter XPE, 1GHz, 512 MB Ram, 40 GB Platte, 100
> MBit Ethernet, 15-Zoll ELO-Touch 800 x 600, Barcodereader, keine
> Tastatur. Alle Funktionalität soll in einer App enthalten sein (wie
> bisher auch).
Was ist eigentlich an dieser Konfiguration so "speziell" das es nicht 
ein Xbeliebiger PDF reader tut? Oder halt eine Applikation welche 
soetwas ermöglicht? Da würde ich garnicht soviele verrenkungen machen 
sondern einfach etwas mit Java oder C# hinbauen.

von Εrnst B. (ernst)


Lesenswert?

Frank Esselbach schrieb:
> ... PDF (nur Text,
> wenige KB) zum Clienten und der rendert das selbst zur Anzeige in Pixel
> (dynapdf.dll).
> ... Lizenzen für die Lib ...

PDF ist für den Anwendungszweck doch garnicht so verkehrt.
=> DLL austauschen gegen eine kostenlose oder freie PDF-Render-Engine. 
"Poppler" (GPL) wär z.B. eine Möglichkeit.

von Frank K. (fchk)


Lesenswert?

Vorschlag:
- Client-Rechner zu X11-Terminals umrüsten (oder RDP)
- Server mit der Client-Applikation, die per X11 freigegeben wird, 
notfalls auch MS Terminal Server, aber der kostet, und Linux hat das 
alles so schon von Haus aus drin.

Damit zentralisiert Ihr die Administration der ganzen Clients. Die 
können dann diskless werden und ihr Linux zentral per PXE/DHCP/TFTP/NFS 
von einem Boot-Server holen. Die 40 GB Platten werden auch nicht jünger 
und sind die größten Risikofaktoren, und die werdet Ihr dann auch gleich 
los.

Die Server-Seite sollte redundant aufgebaut werden.

Die gesamte Technik ist erprobt und funktioniert seit über 20 Jahren 
einfach so.

PDF-Viewer gibts etliche als Open-Source, die Ihr für Eure eigenen 
Zwecke anpassen könnt.

Und wenn Ihr irgendwann mal neue Client-Rechner braucht, gibts von Wyse 
und Igel die passenden Thin-Clients mit eingebauten X11/RDP/ICA/...

fchk

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

>YWas ist eigentlich an dieser Konfiguration so "speziell"
>das es nicht ein Xbeliebiger PDF reader tut?

Es geht ja nicht nur ums PDF-Anzeigen. Es ist eine komplette 
BDE-Applikation (Kommen, Gehen, Pausen, Rüsten, Fertigen, Ausfall 
u.v.a.), wo die Anzeige der Auftragsdaten nur eine von vielen Funktionen 
ist. Auf einem Touchscreen kan man keine Software vernünftig benutzen, 
die eigentlich für Mausbedienung gemacht ist. Das tut schon die 
Konkurrenz. Wir haben uns besonders viel Mühe mit einer einfachen und 
ergonomischen (Touch-) Oberfläche gegeben.

Bei den Clients handelt es sich um Wyse Winterm Geräte mit XPE. Wer 
kennt eine wirklich kostenlose PDF-Renderer-DLL? Danke für Tips!

Frank

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Frank Esselbach schrieb:
> Bei den Clients handelt es sich um Wyse Winterm Geräte mit XPE. Wer
> kennt eine wirklich kostenlose PDF-Renderer-DLL? Danke für Tips!
Wurde doch oben schon geannt!
Wobei ich die genannten auch nicht kenne. Für Java nutze ich wie gesaght 
in einem Projekt:
https://pdf-renderer.dev.java.net/
Wenn die PDFs keine exotischen Farbräume oder Megapixel große Bilder 
haben ist das auch recht brauchbar und super simpel einzusetzen, du 
kannst dogar durch das dokument navigieren wenn du es den willst.

> Es geht ja nicht nur ums PDF-Anzeigen.
Naja... du wolltest das PDF auf dem Server rendern um den Client zu 
entlasten. Das meinte ich. Einen 1Ghz CPU lacht doch über das bischen 
PDF rendern (mit welche Bibliothek auch immer) deshalb habe ich mich 
halt gefragt warum da irgenwas "entlastet" werden soll.

von Klaus W. (mfgkw)


Lesenswert?

Frank Esselbach schrieb:
> Es geht ja nicht nur ums PDF-Anzeigen.

Wie willst du dir dann Lizenzkosten sparen, wenn du die
Lib auch für andere Sachen brauchst? Oder zahlt man da
pro genutzter Funktion extra?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

>Wie willst du dir dann Lizenzkosten sparen, wenn du die
>Lib auch für andere Sachen brauchst? Oder zahlt man da
>pro genutzter Funktion extra?

Die Lib ist nur fürs PDF anzeigen, aber die gesamte Applikation macht 
deutlich mehr. Wenn ich die PDFs bereits auf dem Server z.B. in PNG 
wandle, brauche ich die Lib nicht in jeder Applikation, sondern nur 
einmal.

Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.