PDF Datei drucken

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

PDF Datei drucken

Beitrag von mini990 »

Hallo,
ich suche eine Möglichkeit, einfach PDF-Dateien zu drucken.
Momentantan ich dazu ein externes Programm (Acrobat, Foxit Reader etc.)
Welche Möglichkeiten gibt es dies intern zu lösen?
Es geht nicht darum, aufwändige PDF's zu erstellen sondern nur rein um den Druck.
Quick PDF lite wäre eine Möglichkeit? Wie einbinden?

Gruß Stefan
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: PDF Datei drucken

Beitrag von HaPe »

Hallo Stefan !
ich suche eine Möglichkeit, einfach PDF-Dateien zu drucken.
Momentantan benötige ich dazu ein externes Programm (Acrobat, Foxit Reader etc.)
Dir geht es darum ohne externes Programm zu arbeiten oder ohne dass der Anwender selbst fürs Drucken was tun muß?
Wenn zweiteres zutrifft, dann über Win32Api mittels ShellExecute und der 'PRINT'-Option.
ShellExecute( 0, 'print', ( lcFileName ), "", "", 0 )
Da geht kein sichtbares Fenster auf und es wird dennoch gedruckt.
--
Hans-Peter
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von brandelh »

Quick PDF lite wäre eine Möglichkeit? Wie einbinden?
gerade der Druckbefehl ist nicht in der LITE enthalten ...
ShellExecute( 0, 'print', ( lcFileName ), "", "", 0 )
Da geht kein sichtbares Fenster auf und es wird dennoch gedruckt.
das funktioniert aber nur, wenn ein Standardprogramm für PDF Dateien hinterlegt ist.
Soweit ich weiß, wird bis Win 7 (8?) dafür z.B. der Acrobat Reader verwendet.

Geht das bei Win 10 ohne Hilfsmittel ?
Gruß
Hubert
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: PDF Datei drucken

Beitrag von mini990 »

Mit einem Standardprogramm und Shellexecute mache ich es momentan.
Nur wie gesagt...... Der typische Anwender verstellt die Vorgaben (x Seiten pro Blatt, zentrierte Ausgabe etc.)
Und das Problem will ich umgehen.

Gruß Stefan
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: PDF Datei drucken

Beitrag von mini990 »

Also komme ich um eine entsprechende Software nicht herumg....
Xbppdf liegt bei 150 USD, Quick PDF Library bei 1500 USD :roll:
Stimmen die Preise?
Was spricht gegen und für das jeweilige Produkt?
Wie gesagt.... ich erstelle keine aufwändigen PDF's

Gruß Stefan
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: PDF Datei drucken

Beitrag von ramses »

Hallo Stefan

Ja die Preise stimmen in etwa.
ich verwende die QuickPDF damit lassen sich auch mehrseitige in einzelne Seiten zerlegen oder umgekehrt. Das Drucken geht mit Druckschachtauswahl problemlos. Ich nutze nur noch diese "Servicefunktionen" Ausdrucke / PDF erstellen erledige ich nur noch über L&L-

Die xbppdf ist eine Klasse die auf der QuickPDF aufbaut und diese auch enthält. Wobei du diese NICHT direkt aufrufen kannst sondern nur über die Klassenfunktionen und auch nur diese Funktionen.

Seit Foxit Quickpdf aufgekauft hat haben sich die Lizenzbestimmungen und Preise stark geändert. Du müsstest abklähren ob in der xbppdf Klasse eine aktelle Version enthalten ist oder eine veraltete. Viele frührere Quickpdf Benutzer haben aufgrund der neuen Lizenzen keine Updates/Upgrades mehr bezogen....

Gruss Carlo
Zuletzt geändert von ramses am Fr, 13. Jul 2018 9:13, insgesamt 1-mal geändert.
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von brandelh »

XbpPDF() habe ich zwar noch nicht zum Drucken genommen, aber für die Erstellung von PDF ist es sehr gut geeignet.
Wo genau die Grenzen liegen kann ich jetzt nicht sagen, meine Rechnungsformulare hatten Linien, Boxen, Text etc.
Die neue Version soll viel mehr können als ich genutzt habe, JAN hat da viel Erfahrung mit.

QuickPDF mit meiner HBPrintPDF - kann einfach alles was man sich mit PDFs vorstellen kann,
ist aber nicht unbedingt so einfach zu nutzen wie XbpPDF - die haben teilweise seltsame Funktionsnamen ;-)
Mein Wrapper (Xbase++ Klasse) ist kostenlos und im Quellcode, so kann jeder seine Änderungen auf Xbase++ Seite vornehmen.
FoxIt hat die Lizenzgebühren deutlich angehoben, das stimmt ... ich habe nach Version 13 keine neue Version mehr bestellt.
Ich nutze diese um Umfangreiche Änderungen an bestehenden PDF vorzunehmen (Aufteilen, Sprungadressen und Metadaten anpassen) ...

QuickPDF kann man auch als ActiveX nutzen, wer das möchte ...

Da L&L auch PDF erstellen kann, könnte es eventuell auch einen Befehl haben der vorhandene PDF ausdruckt,
nur so als Idee ... TOM kann dazu vielleicht etwas sagen.

Wenn du aber XbpPDF() nicht eh für die Erstellung brauchst, solltest du darüber nachdenken nur für das Drucken auf SumatraPDF.exe auszuweichen.
Diese EXE wird einfach ohne Installation in dein EXE Verzeichnis gelegt und mit RunShell aufgerufen.
Das habe ich schon gemacht und hat einwandfrei funktioniert. Kostet nix.
Carlo hat geschrieben:Du müsstest abklähren ob in der xbppdf Klasse eine aktelle Version enthalten ist oder eine veraltete
Edgar verwendet eine Version 7.x der QuickPDF.DLL, diese ist umbenannt, damit man sie nicht erkennt.
Das ist aber kein Problem, da Edgar ja nach Xbase++ Seite seine Schnittstelle hat uns sich um die Übergabe an die DLL kümmert.
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: PDF Datei drucken

Beitrag von ramses »

solltest du darüber nachdenken nur für das Drucken auf SumatraPDF.exe auszuweichen.
Da gibt es aber grössere Probleme mit mehrseitigen PDF's mit bestimmten Eigenschaften ....

Quickpdf kostet zwar einiges, funktioniert aber einwandfrei, dies ist ein wichtiger Punkt vorallem wenn du auch PDF aus fremden Quellen drucken musst.


Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von Jan »

Wie Hubert schrieb benutze ich die Klasse von Edgar schon seit einigen Jahren. Und auch das Ausdrucken einer PDF geht damit sehr einfach. Die einzeln gekauft teure Bibliothek von Foxit/Ex Debenu ist da im Preis schon mit drin.

Du solltest ihn mal fragen, welche Version für Dich die geeignetste ist. Er hat da verschiedene Varianten im Angebot, die sich im Preis und Funktionsumfang unterscheiden.

Und auf jeden Fall ist der Support bei Edgar sehr gut! Zwar etwas zeitintensiv wegen der Zeitverschiebung (er ist deutschstämmiger Brasilianer), aber immer sehr hilfsbereit, zuvorkommend.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von Koverhage »

Hallo Carlo,
Die xbppdf ist eine Klasse die auf der QuickPDF aufbaut und diese auch enthält. Wobei du diese NICHT direkt aufrufen kannst sondern nur über die Klassenfunktionen und auch nur diese Funktionen.
Diese Aussage verstehe ich nicht. Ich kann auf jede function zugreifen (wenn ich die function kenne, aber das wäre HBPrintPDF hilfreich)
Beispiel (hier musste ich die Verschlüsselung so machen, mit Edgars Funktion hat es nicht wie gewünscht funktioniert)

Code: Alles auswählen

IF lSetPDFA
   oPdf:qCall("SetPDFAMode",oPdf:oPdf,2)
ELSEIF lSetENCRYT
   IF fi->pdfpw
      oPdf:qCall("EncryptA",oPdf:oPdf,cOwnerPW, cUserPW, 2, 12845065)
   ENDIF
//   oPdf:Encryption( 2, 16 )    // XPPPDF
//   oPdf:Permission( 12845065 )    // XPPPDF
//   oPdf:Password(cOwnerPW, cUserPW)   // XPPPDF
ENDIF
Gruß
Klaus
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: PDF Datei drucken

Beitrag von ramses »

Hallo Klaus
Ich kann auf jede function zugreifen
ich habe es damals nicht hinbekommen durch die Klasse hindurch direkt Funktionen aus bezw. in der QuickPDF zu nutzen.

Zur ganzen Sache mit der Quickpdf sollte noch erwähnt werden:

Die normale Lzenz gilt nur für INHOUSE Verwendung. Es heisst da:
If you are planning on using Quick PDF Library to develop applications you will later sell to third parties or ship to external end users, please request a quote.
Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von brandelh »

Hallo Carlo,

das ist so nicht ganz richtig, denn dieser Passus hat sich mit der Zeit geändert.
Immer verboten war die DLL mit Zugriffscode weiterzugeben, bzw. eine DLL mit einfacher Durchreichung der Parameter.
Es war zumindest damals ohne Probleme erlaubt, die DLL mit eigenen Programmen auszuliefern.

Ich meine mich zu entsinnen, dass Edgar damals auch eine Vereinbarung mit den Besitzern getroffen hat, um sicher zu sein, dass es bei ihm keine "einfachen Durchreichung" war.

Mit der Zeit wurden die Beschränkungen immer seltsamer - zumindest wenn man nur normales Englisch spricht.

PS: das könnte ein Grund sein, warum die DLL der Version 7 verwendet wird. ;-)
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: PDF Datei drucken

Beitrag von ramses »

Hallo Hubert

der Passus ist von der Webseite Stand heute. Das ist sicher der Grund wieso viele bei der Version vor Foxit blieben.
Heute muss der Endkunden das Teil kaufen oder du musst eine Vereinbarung abschliessen.

Vor Foxit war zumindest damals ohne Probleme erlaubt, die DLL mit eigenen Programmen auszuliefern.

Was Edgar für eine Vereinbarung hat / hatte weiss ich nicht.
Mit der Zeit wurden die Beschränkungen immer seltsamer - zumindest wenn man nur normales Englisch spricht.
Das stimmt. Und nicht nachvollziehbar. ...



Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PDF Datei drucken

Beitrag von AUGE_OHR »

mini990 hat geschrieben: Do, 12. Jul 2018 11:32ich suche eine Möglichkeit, einfach PDF-Dateien zu drucken.
Windows 10 :idea:
es gibt ja dort einen PDF "Drucker" ...
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von Jan »

Jimmy,

Du hast aber schon gelesen das Stefan selebr den Druck kontrollieren möchte, und eventuelle Vorgaben der Anwender unbedingt ausschließen möchte?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: PDF Datei drucken

Beitrag von ramses »

Jimmy

du meinst sicher "Microsoft Print to PDF" der leitet aber ein Ausdruck z.B. aus Word in eine PDF-Datei um.

Der druckt keine PDF's sondern erstellt welche.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PDF Datei drucken

Beitrag von AUGE_OHR »

> Es geht nicht darum, aufwändige PDF's zu erstellen sondern nur rein um den Druck.

wie schon gesagt hat Windows 10 eine App für PDF zum anzeigen und drucken.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PDF Datei drucken

Beitrag von AUGE_OHR »

Windows 10 PDF drucken

man nehme eine frischen Windows 10 (ab 1803) und einen USB Stick mit einer PDF Datei und sagt "drucken" ...
seit Windows 8x gibt es den "Microsoft PDF Reader" der nun in EDGE integriert ist.

Anmerkung : Microsoft PDF Reader-App wird am 15. Februar 2018 eingestellt
https://windowsarea.de/2017/11/microsof ... ngestellt/

unter Windows 10 lassen sich PDF nun ohne zusätzliche Tools ausdrucken

Code: Alles auswählen

   lSuccess := @SHELL32:ShellExecuteA( APPDESKTOP() :GetHWND(), ;
                                       "print", ;
                                       cPath + cFile, ;
                                       cParms, ;
                                       CURDIR(), ;
                                       SW_HIDE )
wer noch mehr Controlle über Drucker braucht sei die CLASS TPrintRaw von Pablo empfohlen
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von Jan »

Jimmy,

der Verweis auf ein nicht mehr mitgeliefertes Tool ist wenig hilfreich.

Und den ShellExecute hatten wir oben schon. Und es wurde bereits mehrfach darauf hingewiesen, daß das nicht gewünscht ist, weil man dann eventuell in Vorgabe n der Kunden läuft, die für den Ausdruck von Stefan unerwünscht sind.

Und ich dachte ich wäre hier derjenige, der gerne mal was "überliest"...

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PDF Datei drucken

Beitrag von AUGE_OHR »

Jan,
Jan hat geschrieben: Sa, 14. Jul 2018 5:47der Verweis auf ein nicht mehr mitgeliefertes Tool ist wenig hilfreich.
Hubert hat geschrieben:Geht das bei Win 10 ohne Hilfsmittel ?
scheinbar ist es nicht bekannt das EDGE das Tool enthält also rede keinen MIST :!:
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von brandelh »

ach wie ich diese Nettigkeiten liebe =D>
Gruß
Hubert
Benutzeravatar
mini990
1000 working lines a day
1000 working lines a day
Beiträge: 592
Registriert: Sa, 28. Jan 2006 9:44
Wohnort: Berg-Richtheim bei Neumarkt i.d.Opf.
Danksagung erhalten: 1 Mal

Re: PDF Datei drucken

Beitrag von mini990 »

Vielen Dank für die Infos.
ich habe es jetzt mal mit Sumatra PDF umgesetzt.
Mein Ziel - Manipulationssicherheits des Ausdrucks - wird damit erreicht.
Nun warte ich auf die Reaktionen der Anwender.

Gibt es bei Sumatra PDF einen Rückgabeparameter? Hab da nichts gefunden...

Gruß Stefan
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von brandelh »

Viele EXE Dateien setzen im Fehlerfalle einen ERRORLEVEL (Abfrage in CMD Datei), den man auch von RunShell() zurück erhalten kann.
Ob das hier auch der Fall ist weiß ich nicht. Ob ein Ausdruck in der Druckerwarteschlange abgewürgt wird, kann die Anwendung nach dem Ende des Druckjobs ja auch nicht mehr erfahren.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: PDF Datei drucken

Beitrag von AUGE_OHR »

mini990 hat geschrieben: Mo, 16. Jul 2018 9:26 Mein Ziel - Manipulationssicherheits des Ausdrucks - wird damit erreicht.
was meinst du damit jetzt :shock:
mini990 hat geschrieben: Mo, 16. Jul 2018 9:26 Gibt es bei Sumatra PDF einen Rückgabeparameter?
meist du jetzt für die Aktion Drucken :?:
wenn dann vermutlich das was ein Drucker zurück geben kann.
---
wenn ich mich nicht irre kann man "Aktionen von EDGE" in die "Timeline" eintragen lassen.
es wäre also eine Eintrag vorhanden auch wenn der Ausdruck "nicht existiert" ... :^o
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: PDF Datei drucken

Beitrag von Jan »

Jimmy,

Stefan hatte es gesagt. Ich habe es in zwei Posts an Dich wiederholt. Du hast es nicht gelesen. Er möchte sicherstellen, das ihm keine Einstellungen des Anwenders im Ausdruck dazwischen funken. z. B. 2 Seiten pro Blatt, oder ähnliches. ER will die Kontrolle über den Ausdruck haben NICHT der Kunde soll die haben.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten