Registriert seit: 27. Nov 2017
2.490 Beiträge
Delphi 7 Professional
|
AW: SynPDF und "Bonrollen"
12. Mai 2021, 12:04
Schau Dir in den Quellen von SynPdf mal diese Methode an:
Delphi-Quellcode:
procedure TPdfDocument.SetDefaultPaperSize(const Value: TPDFPaperSize);
const PAPERSIZE: array[TPDFPaperSize] of array[0..1] of integer =
( (595,842), (419,595), (842,1190), (1190,1683), (1683,2382), (2382,3369),
(612,792), (612,1008), (0,0) );
begin // psA4, psA5, psA3, psA2, psA1, psA0, psLetter, psLegal, psUserDefined
FDefaultPaperSize := Value;
if Value<>psUserDefined then begin
FDefaultPageWidth := PAPERSIZE[Value,0];
FDefaultPageHeight := PAPERSIZE[Value,1];
end;
end;
Anhand dieser Werte kannst Du dann das von Dir benötigte Format berechnen.
Code:
(595,842) entspricht DIN A4 mit 210 x 297 mm bzw. 21,0 cm x 29,7 cm
Kettensatz:
? = 80 mm
210 mm = 595
595 * 80 / 210 = 226,66666666666666666666666666667
DefaultPageWidth := 226;
Da Du ja "endloslange" drucken musst, musst Du die DefaultPageHeight (jeweils vom Inhalt abhängig) individuell berechnen.
|
|
Zitat
|