AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Drucken mit gleichzeitigem generieren eines PDFs
Thema durchsuchen
Ansicht
Themen-Optionen

Drucken mit gleichzeitigem generieren eines PDFs

Ein Thema von oakley · begonnen am 25. Feb 2020 · letzter Beitrag vom 8. Mär 2022
Antwort Antwort
UliTs

Registriert seit: 20. Mai 2020
Ort: 52074 Aachen
50 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 26. Mai 2020, 16:26
Gibt es eine Möglichkeit, einen Dateinamen als Voreinstellung anzugeben, der im Dialog nach "begindoc" automatisch vorgeschlagen wird?
Bräuchte man dafür nicht einfach nur einen eigenen Dialog davorzuschalten ?
Ja danke! Du hast Recht! Die Lösung war zu einfach .
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#2

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 16. Feb 2022, 20:55
Hallo zusammen,

sorry, dass ich das hier nochmal aufwärme aber ich hatte bis jetzt dazu keine Zeit mehr mich damit zu beschäftigen.
Ich bin da allerdings ein wenig weiter gekommen und zwar lasse ich ein PDF mit Bullzip erzeugen und dieses an anschließend auf einem festgelegten Drucker drucken.
Hier gibt es 2 Probleme: 1. Mit fehlt der Hintergrund des Briefpapiers im PDF, 2. ich muss den Papier-Drucker fest in eine globalsettings.ini Datei schreiben und das Briefpapier darf nicht im Ausdruck erscheinen.

Ich habe mir Redmon angesehen, aber das ist etwas zu komplex für mich, mir fehlt das Verständnis dafür. Funktioniert es unter Windows 10 noch, es ist ja auch schon etwas älter?

Dann dachte ich, ich kann einen TCP Server verwenden und den Port 9100 "abgreifen" und aus der Datei, die ich dann schreiben lasse, einmal ein PDF machen und einmal an dem vom benutzer gewählten Drucker leiten.

Delphi-Quellcode:
procedure TForm1.S1Execute(AContext: TIdContext);
var
   DStream, FStream : TStream;
begin
   DStream := TMemoryStream.Create;
   AContext.Connection.IOHandler.ReadStream(DStream, -1, true);
   FStream := TFileStream.Create('c:\temp\xy.prn', fmCreate);
   DStream.Position := 0;
   FStream.CopyFrom(DStream, DStream.Size);
   FStream.Free;
   DStream.Free;
end;
Wenn ich über einen generischen Drucker mit lokaler IP 127.0.0.1 drucke, wird die Datei erzeugt. Drucke ich auf einem Drucker im Netzwerk macht er logischerweise nichts.

Wie könnte ich die Datei, die dort erzeugt wird, einerseits ein PDF machen (am liebsten mit Bullzip, weil ich hier den Hintergrund separat mit einspielen kann) und andererseits die Datei an den vom Benutzer ausgewählten Drucker weiter leiten?

Oder kann ich irgendwie die Daten vom Port 9100 "loggen" während der Druckauftrag zum vom Benutzer gewünschten Drucker übertragen wird und dann aus der entstandenen Datei einfach ein PDF machen?

Viele Grüße

Mirko
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
717 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 17. Feb 2022, 06:18
Hallo, was würde passieren wenn Du zwei mal druckst? Einmal in PDF und einmal an den Drucker?
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#4

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 17. Feb 2022, 08:48
Hallo,

also das Ganze kommt aus einer Fremdanwendung und ich habe keinen Einfluss auf den Druckauftrag oder wie oft gedruckt wird.
Das Beste wäre wahrscheinlich den Auftrag ab zufangen, eine prn Datei schreiben zu lassen und diese dann zum Erstellung des PDF zu verwenden.
So weit so gut aber es bestehen die beschriebenen Probleme.

LG

Mirko
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#5

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 17. Feb 2022, 12:24
Hmm..

Hallo,

also das Ganze kommt aus einer Fremdanwendung und ich habe keinen Einfluss auf den Druckauftrag oder wie oft gedruckt wird.
Das Beste wäre wahrscheinlich den Auftrag ab zufangen, eine prn Datei schreiben zu lassen und diese dann zum Erstellung des PDF zu verwenden.
Genau deshalb hatte ich Redmon vorgeschlagen (was auch noch unter Win10 läuft!).
Redmon kann die Druckdaten an dein eigenes Programm weiter leiten und dieses erzeugt daraus per z.B. GhostScript ein PDF dem Du den Hintergrund bei Aufruf von GS mitgibst. Zusätzlich dann noch ein Ausdruck auf einem Drucker deiner Wahl, hier dann ohne deinen Hintergrund!
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#6

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 17. Feb 2022, 14:25
Hallo Holger,

okay ich habe Redmon installiert und den Port RPT1 erzeugt.
Ich leite den Ausdruck also zu meinem Programm um wo ich einmal das PDF erzeuge und einmal an den Drucker weiter leite.
Wie komme ich an die Daten, die ans Programm übergeben werden?

Delphi-Quellcode:
var
  Input: TStream;
begin
  Input := THandleStream.Create(GetStdHandle(STD_INPUT_HANDLE));
  ...
Eventuell so aber was mache ich danach damit?

LG

Mirko
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.174 Beiträge
 
Delphi 12 Athens
 
#7

AW: Drucken mit gleichzeitigem generieren eines PDFs

  Alt 17. Feb 2022, 14:41
Redmon ist eine tolle Sache.

Das hier ist das Einzige was mich etwas stört, auch wenn es dann jetzt doch noch mit Win10 funktionert,
scheint der zukünftige Support bei 0 zu liegen.

Zitat:
Won't be implemented:

Remote printing to a printer that uses RedMon.
Support for Windows 10
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 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