Delphi-PRAXiS

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 Drucken auf Adobe Acrobat X (https://www.delphipraxis.net/181714-drucken-auf-adobe-acrobat-x.html)

DelTurbo 4. Sep 2014 12:58

Drucken auf Adobe Acrobat X
 
Hallo,
ich habe schon die suchfunktion genutzt, aber leider nix gefunden was auf mein Problem zutrifft.

Ich schreibe grade eine kleine Soft die auch tabellen usw. drucken soll. Da ich nicht immer ein Blatt Papier verschwenden möchte, dachte ich, ich könnte auf den Adobe PDF Drucker drucken und mir das am Bildschirm ansehen. Leider kommt da nix raus. Auf allen anderen Druckern (Tinte,Laser) klappt das drucken.

Es geht nicht darum ein PDF-File zu erzeugen!!

Installiert ist Adobe Acrobat X. Was muss ich machen, damit er nach .EndDoc "druckt"?

Vielen dank im voraus

mkinzler 4. Sep 2014 13:05

AW: Drucken auf Adobe Acrobat X
 
Zeig mal wie Du es versuchst.

DelTurbo 4. Sep 2014 13:16

AW: Drucken auf Adobe Acrobat X
 
Den Code habe ich runtergeladen um erstmal zu verstehen wie das drucken überhaupt geht. Das ist doch ein bissl anders als früher bei DOS und einem 7 Nadeldrucker :-D

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zeile, x, y: integer;
    breite, hoehe, randlinks, randoben: integer;
    sl   :TStringList;

begin
  sl:=TStringlist.Create;
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  sl.add('sdjskd skdj');
  if PrintDialog1.Execute then begin
    Printer.BeginDoc; //Druckjob beginnen
    SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); //Umstellen auf 1/10 mm

    //Schrift-Einstellungen:
    Printer.Canvas.Font.Name:='Courier New';
    Printer.Canvas.Brush.Color:=clWhite;
    Printer.Canvas.Font.Height:=50; //5 mm

    //Blattgöße in 1/10 mm ermitteln:
    breite:=GetDeviceCaps(Printer.Canvas.Handle, HORZSIZE)*10;
    hoehe:=GetDeviceCaps(Printer.Canvas.Handle, VERTSIZE)*10;

//    randlinks:=250; //2,5 cm
//    randoben:=250; //2,5 cm
    randlinks:=0; //2,5 cm
    randoben:=0; //2,5 cm

    x:=randlinks;
    y:=randoben*-1;

    for zeile:=0 to sl.Count-1 do begin

      if -y>(hoehe-2*randoben) then begin
        y:=randoben*-1;
        Printer.NewPage;
      end;

      if y=-randoben then begin
        Printer.Canvas.Font.Style:=[fsbold];
        Printer.Canvas.TextOut(x, y, 'Seite '+IntToStr(Printer.PageNumber));
        Printer.Canvas.Font.Style:=[];
        y:=y-Printer.Canvas.TextHeight(sl[zeile]);
      end;

      Printer.Canvas.TextOut(x, y, sl[zeile]);

      y:=y-Printer.Canvas.TextHeight(sl[zeile]);

    end;
    Printer.EndDoc;
  end;
  sl.Free;

end;

DelTurbo 4. Sep 2014 16:36

AW: Drucken auf Adobe Acrobat X
 
Mit FreePDF klappt es komigerweise. Der ist für Privat kostenfrei.
http://de.pdf24.org/pdf-drucker-kostenlos.jsp

Trotzdem würde ich gerne wissen warum das beim Adobe Acrobat nicht geht.

p80286 4. Sep 2014 17:14

AW: Drucken auf Adobe Acrobat X
 
Zunächst die dümmste Frage: Du bist Dir sicher, daß Du nicht nur den Reader installiert hast?

Und dann, ist der PDF-Drucker auch richtig eingerichtet?

Gruß
K-H

DelTurbo 4. Sep 2014 18:00

AW: Drucken auf Adobe Acrobat X
 
Zitat:

Zitat von p80286 (Beitrag 1271067)
Zunächst die dümmste Frage: Du bist Dir sicher, daß Du nicht nur den Reader installiert hast?

Und dann, ist der PDF-Drucker auch richtig eingerichtet?

Gruß
K-H

1.000%tig. Den unterschied kenne ich. Und richtig installiert ist er auch, weil andere Programme auf "ihm" drucken. Ich nutze den oft, wenn ich z.b. Internetseiten drucke oder Word dateien wegmailen muss, usw..

Gruß

DelTurbo 5. Sep 2014 10:02

AW: Drucken auf Adobe Acrobat X
 
"Fehler" gefunden. Man muss Printer.Title setzen, sonst geht die Dialogbox zum speichern garnicht auf.

Nun geht es.

Trotzdem danke und Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz