Hat von Euch jemand erfahrung mit FPC + Libharu (libhpdf.dll)??
(ja, es gibt auch die powerpdf)
Ich kann ein Dokument und eine Seite erzeugen, Linien zeichnen und das Dokument speichern.
Wenn ich aber einen Text schreiben will, kommt es zu einer Ausnahme mit der Fehlernummer 4174.
Code: Alles auswählen
var
myPDF : HPDF_Doc;
myFont : HPDF_Font;
myPage : HPDF_Page;
page_title: string = 'Line Demo';
fname : string = 'LineDemo.pdf';
sText : string = 'Das ist der Text';
sFontName : PChar = 'Helvetica';
xSize : Real = 0.0;
ySize : Real = 0.0;
dwRetval : DWord;
begin
myPDF := HPDF_New(@error_handler, nil);
if (myPDF = Nil) then
Application.MessageBox('Fehler beim erstellen des Pdf-Objekts!','Fehler', MB_OK)
else
begin
try
//default-Font
myFont := HPDF_GetFont(myPDF, sFontName, nil);
//neue Seite eingfügen
myPage := HPDF_AddPage(myPDF);
//Rahmen einfügen
HPDF_Page_SetLineWidth(myPage, 1);
xSize := HPDF_Page_GetWidth(myPage) - 100;
ySize := HPDF_Page_GetHeight(myPage) - 100;
HPDF_Page_Rectangle(myPage, 50, 50, xSize, ySize);
HPDF_Page_Stroke(myPage);
//HPDF_Page_BeginText(myPage);
//HPDF_Page_MoveTextPos(myPage, 60, 450);
//HPDF_Page_ShowText(myPage, PChar(sText)); // <-- hier tritt der Fehler 4174 auf
//HPDF_Page_EndText(myPage);
HPDF_Page_SetLineWidth (myPage, 0);
HPDF_Page_MoveTo(myPage, 60, 500);
HPDF_Page_LineTo(myPage, 300, 500);
HPDF_Page_Stroke(myPage);
//PDF erstellen
HPDF_SaveToFile (myPDF, PChar(fname));
except
on e: Exception do
begin
Application.MessageBox(PChar(e.message), '',MB_OK);
HPDF_Free (myPDF);
end;
end;
//zusammenräumen
HPDF_Free (myPDF);
end;
Die entsprechende Funktiondeklaration 'HPDF_Page_ShowText' sieht so aus:
Code: Alles auswählen
function HPDF_Page_ShowText (page: HPDF_Page; const text: HPDF_PCHAR): HPDF_STATUS; stdcall external LIBHPDF_DLL;
Ich verwende die libharu_2_0_8_dll_win32, DLL und Deklaration sollten also zusammenpassen.
Kann mir da jemand weiter helfen?
Danke