Hallo support,
ich habe die "wPDF 4 Standard" und die "WPViewPDF PLUS".
Möchte in eine bestehende PDF-Datei ein paar Zeilen Text einfügen. Der Hintergrund soll dabei per Rechteck überdeckt werden.
Wie ist das möglich?
Vielen Dank
Joschim
Hallo support,
ich habe die "wPDF 4 Standard" und die "WPViewPDF PLUS".
Möchte in eine bestehende PDF-Datei ein paar Zeilen Text einfügen. Der Hintergrund soll dabei per Rechteck überdeckt werden.
Wie ist das möglich?
Vielen Dank
Joschim
Mit den DrawObjects geht das eigentlich. Diese werden auf das PDF ausgebracht und müssen aber noch "gerendert" werden. Dabei werden Graphiken in PS code gewandelt und könne n mit der PDF abgespeichert werden.
Soll das programm gesteuert passieren?
Andrenfalls ist PDFEdit ein Beispiel - dort kann man das interaktiv machen.
Im Manual wird unter "DrawShapes" beschrieben wie diese DrawObjekte durch code erzeugt werden.
var
t: TPDFDrawObjectRec;
begin
FillChar(t, SizeOf(t), 0);
t.PageNo := 0; // Page 1
t.ColorBrush := clYellow;
t.Alpha := 100; // transparent
t.grtyp := 1; // Rectangle
t.ObjectOptions := 16; // Use multiply transparency
// Position, 720 dpi
t.units_xywh := 10; // 720 dpi
t.x := Round( 2/2.54 * 720); // 2 cm
t.y := Round( 3/2.54 * 720); // 3 cm
t.w := Round( 5/2.54 * 720);
t.h := Round( 1/2.54 * 720);
WPViewPDF1.AddDrawObject(wpAddNow, 'YELLOW_RECT', t, nil, '');
end;
Alles anzeigen
und für Text:
var
t: TPDFDrawObjectRec;
s : AnsiString;
begin
FillChar(t, SizeOf(t), 0);
t.grtyp := 100;
t.typparam := 2000; // Textfield, Height = 20
t.ColorText := ColorToRGB( clBlue ); // Text Color
t.ColorPen := ColorToRGB( clYellow ); // Background Color
t.ObjectOptions := 4+8; // Center Text + Opaque
t.ColorBrush := clYellow;
// Get the page number
t.PageNo := WPViewPDF1.command(COMPDF_GetPageUnderMouse);
// Position of MOUSE on the page:
t.x := WPViewPDF1.command(COMPDF_GetPageLogX);
t.y := WPViewPDF1.command(COMPDF_GetPageLogY);
t.h := 72;
t.w := 72*3;
t.Angle := 45;
t.FontSize := 55*100;
if FontDialog1.Execute then
begin
s := '"Font=' + FontDialog1.Font.Name + '"';
WPViewPDF1.AddDrawObject(wpAddNow, '', t, 'This text in mouse position', PAnsiChar(s));
end;
end;
Alles anzeigen
Vielen Dank für die schnelle Reaktion,
soweit, so gut.
Funktioniert jetzt.
Nur bei der Änderung des Fontnamens zeigt sich keine Änderung des Textes.
Kann ich die Fontstyles ändern?
Viele Grüße
Joschim
Bitte verenden Sie die font Namen "TimesNewRoman" oder "CourierNew" welche intern durch die entsprechenden standard PS fonts Times und Courier ersetzt werden.