如何通过Perl模块PDF::Create创建PDF时设置font-color属性?以下是我正在使用的代码段。如何在此处设置字体颜色属性?
use warnings;
use strict;
use PDF::Create;
use PDF::Image::JPEG;
print "PDF with Image\n";
#Create
my $pdf = new PDF::Create(
'filename' => "./image_embed_test.pdf",
'Version' => 1.2,
'PageMode' => 'UseNone',
'Author' => 'Madhan',
'Title' => 'My PDF',
);
# Prepare 2 fonts
my $f1 = $pdf->font('Subtype' => 'Type1',
'Encoding' => 'WinAnsiEncoding',
'BaseFont' => 'Helvetica');
my $f2 = $pdf->font('Subtype' => 'Type1',
'Encoding' => 'WinAnsiEncoding',
'BaseFont' => 'Helvetica-Bold');
my $f3 = $pdf->font('Subtype' => 'Type1',
'Encoding' => 'WinAnsiEncoding',
'BaseFont' => 'Helvetica-Bold');
my $root = $pdf->new_page('MediaBox' => [ 0, 0, 612, 792 ]);
my @page;
$page[1]=$root->new_page;
my $jpg1 = $pdf->image('./logo1.jpg');
$page[1]->image( 'image' => $jpg1,
'xscale' => 0.5,
'yscale' => 0.5,
'xpos' => 56,
'ypos' => 698);
$page[1]->stringc($f2, 8, 484, 738, "Add line 1");
$page[1]->stringc($f2, 8, 521, 718, "City");
$page[1]->stringc($f2, 8, 530, 698, "Phone");
$page[1]->stringc($f3, 8, 530, 698, "myid@example.com");
$pdf->close;
在邮件ID链接的$f3
中,我需要将颜色设置为蓝色。
答案 0 :(得分:2)
您需要使用PDF::Create::Page中的setrgbcolor
方法。
setrgbcolor($ r,$ g,$ b)
设置用于普通文本或填充对象的填充颜色。
看起来您需要在运行stringc
操作之前设置它,只需为所有后续操作设置颜色。所以你把它变成蓝色,写下你的蓝色文字,然后把它变成黑色(或默认)。
$page[$num]->setrgbcolor(1, 0, 0); # blue
$page[$num]->stringc($f3, 8, 530, 698, "myid@example.com");
$page[$num]->setrgbcolor(0, 0, 0); # black
在setrgbcolor
正下方有setrgbcolorstroke
,这说明参数是0
和1
之间的值。