fcl-pdf - Bug?

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
Zvoni
Beiträge: 760
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
CPU-Target: 64Bit
Wohnort: BW

fcl-pdf - Bug?

Beitrag von Zvoni »

Mahlzeit

Dev-OS=Win11-64Bit
Laz 4.3-64Bit
FPC 3.2.3-64Bit
target=Win64

gemäss Wiki mal das Beispiel ausprobiert

Code: Alles auswählen

program Project1;
{$mode ObjFPC}{$H+}
Uses Sysutils, Classes, fppdf;
var
  FontID,FontBoldID: Integer;
  Document: TPDFDocument;
  Section: TPDFSection;
  Page: TPDFPage;
begin
  Document := TPDFDocument.Create(nil);
  Document.FontDirectory := 'C:\Windows\Fonts';
  Document.Options := Document.Options + [poPageOriginAtTop, poNoEmbeddedFonts];
  //Document.Options := Document.Options + [poPageOriginAtTop, poNoEmbeddedFonts, poOutLine];  //"poOutline" = KABOOM
  Document.StartDocument;
  FontID := Document.AddFont('arial.ttf', 'Arial');
  FontBoldID := Document.AddFont('arialbd.ttf', 'Arial Bold');
 
  Section := Document.Sections.AddSection;
  Section.Title:='Test-Title';
 
  Page := Document.Pages.AddPage;
  Page.Orientation := ppoLandscape;
  Page.UnitOfMeasure := uomPixels;
  Page.PaperType := ptA4;
 
  Section.AddPage(Page);
 
  Page.SetFont(FontID, 11);
  Page.WriteText(20, 20, 'This is normal text');
 
  Page.SetFont(FontBoldID, 11);
  Page.WriteText(20, 30, 'This is bold text');
 
  Document.SaveToFile('c:\temp\output.pdf');
  Document.Free;
end.
Funktioniert.

ABER: Wenn ich "poOutline" in die Options reinnehme (siehe auskommentierte Zeile), knallts mit
"List index (20956928) out of bounds"

Kann das jemand bestätigen?
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

siro
Beiträge: 795
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: fcl-pdf - Bug?

Beitrag von siro »

Habe das grad ausprobiert.
Musste mir erstmal einen Ordner C:\temp anlegen, sonst meckerte er schon voher...

Ohne der besagten Zeile geht es bei mir auch.

Mit der Zeile gibt bei mir auch einen Fehler:
"List index (20970650) out of Bounds"
Error_ASM.png
Error_ASM.png (47.91 KiB) 131 mal betrachtet
Lazarus 4.6 (rev lazarus_4_6) FPC 3.2.2 x86_64-win64-win32/win64
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Benutzeravatar
Zvoni
Beiträge: 760
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
CPU-Target: 64Bit
Wohnort: BW

Re: fcl-pdf - Bug?

Beitrag von Zvoni »

Immerhin beruhigend, dass ich nicht der einzige bin.

Hab aber das hier gefunden:
viewtopic.php?p=135784#p135784
Will man jetzt ein PDF erstellen, dann kracht's, denn es ist nur eine Section vorhanden. In CreateSectionsOutLine werden wenigstens 2 Sectionen benötigt,
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

Benutzeravatar
Zvoni
Beiträge: 760
Registriert: Fr 5. Jul 2024, 08:26
OS, Lazarus, FPC: Windoof 10 Pro (Laz/FPC fixes)
CPU-Target: 64Bit
Wohnort: BW

Re: fcl-pdf - Bug?

Beitrag von Zvoni »

OK, der KABUMM hat definitiv mit Section.Count=1 zu tun.
Werd ich mal als Bug melden. Fehlt wohl eine Prüfung um sich gegen sowas zu wehren
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.

Antworten