AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TPrintpreview / sdPDF Frage wegen Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

TPrintpreview / sdPDF Frage wegen Fehler

Ein Thema von thomas2009 · begonnen am 23. Apr 2011 · letzter Beitrag vom 24. Apr 2011
 
thomas2009
(Gast)

n/a Beiträge
 
#1

TPrintpreview / sdPDF Frage wegen Fehler

  Alt 23. Apr 2011, 12:20
Hallo,

ich teste gerade diese Komponente Ohne Erfahrung mit der Sache
Ich lege mein Bild in Printpreview einfach so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Rect1: TRect;
begin
  with Form2.PrintPreview do
  begin
    BeginDoc;
 try
      Rect1 := Rect(40,40, Image1.width*40, Image1.Height*40);
      Canvas.StretchDraw(Rect1, Image1.Picture.Graphic);
    finally
      EndDoc;
    end;
  end;
  Form2.Show; // preview Form
end;
Das Bild erscheint nun in Printpreview Form
Nun möchte ich das Bild als PDF speichern, indem Ich auf PDF Symbole in Preview Form Klicke

Preview unit wo Fehler erscheint :
Delphi-Quellcode:
...
procedure TPrintPreview.SaveAsPDF(const FileName: String);
var
  PageNo: Integer;
{$IFDEF SYNOPSE}
  pdf: TPdfDocument;
{$ELSE}
  AnyPageRendered: Boolean;
{$ENDIF}
begin
{$IFDEF SYNOPSE}
  pdf := TPdfDocument.Create;
  try
    ChangeState(psSavingPDF);
    try
      pdf.Info.CreationDate := Now;
      pdf.Info.Creator := PDFDocumentInfo.Creator;
      pdf.Info.Author := PDFDocumentInfo.Author;
      pdf.Info.Subject := PDFDocumentInfo.Subject;
      pdf.Info.Title := PDFDocumentInfo.Title;
      pdf.DefaultPageWidth := ConvertX(PaperWidth, Units, mmPoints);
      pdf.DefaultPageHeight := ConvertY(PaperHeight, Units, mmPoints);
      pdf.NewDoc;
      DoProgress(0, TotalPages);
      for PageNo := 1 to TotalPages do
      begin
        case DoPageProcessing(PageNo) of
          pcAccept:
          begin
            pdf.AddPage;
            pdf.Canvas.RenderMetaFile(Pages[PageNo]);
          end;
          pcCancellAll:
            Exit;
        end;
        DoProgress(PageNo, TotalPages);
      end;
      pdf.SaveToFile(FileName);
    finally
      ChangeState(psReady);
    end;
  finally
    pdf.Free;
  end;
{$ELSE}
  if dsPDF.Exists then
  begin
    ChangeState(psSavingPDF);
    try
      dsPDF.BeginDoc(AnsiString(FileName));
      try
        dsPDF.SetDocumentInfoEx(PDFDocumentInfo);
        AnyPageRendered := False;
        DoProgress(0, TotalPages);
        for PageNo := 1 to TotalPages do
        begin
          case DoPageProcessing(PageNo) of
            pcAccept:
            begin
              if AnyPageRendered then
                dsPDF.NewPage;
              dsPDF.SetPage(PaperType, Orientation,
                ConvertX(PaperWidth, Units, mmHiMetric),
                ConvertY(PaperHeight, Units, mmHiMetric));
              dsPDF.RenderMetaFile(Pages[PageNo]);
              AnyPageRendered := True;
            end;
            pcCancellAll:
              Exit;
          end;
          DoProgress(PageNo, TotalPages);
        end;
      finally
        dsPDF.EndDoc; // Fehler wird hier markiert
      end;
    finally
      ChangeState(psReady);
    end;
  end
  else
    raise EPDFLibraryError.Create(SdsPDFError);
{$ENDIF}
end;
Angehängte Grafiken
Dateityp: jpg dspdf_fehler.jpg (14,9 KB, 23x aufgerufen)
  Mit Zitat antworten Zitat
 


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 02:34 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