2016-07-04 5 views
0

PerlモジュールPDF::CreateでPDFを作成するときにfont-colorプロパティを設定するにはどうすればよいですか?以下は私が使用しているコードスニペットです。ここでフォントカラープロパティを設定するにはどうしたらいいですか?私は青などの色を設定する必要がメールIDリンクの$f3perlを使用したPDFのフォントカラープロパティPDF :: Create

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, "[email protected]"); 

$pdf->close; 

答えて

2

PDF::Create::Pagesetrgbcolorメソッドを使用する必要があります。通常のテキストまたは充填目的のために使用される塗りつぶしの色を設定し

setrgbcolor($ R、G $、$ B)

stringc操作を実行する前に、それを設定する必要があるように見えますが、これは後続のすべての操作の色を設定するだけです。だからあなたはそれを青に変え、青のテキストを書き、それを黒(またはデフォルト)に戻します。直接setrgbcolor以下

$page[$num]->setrgbcolor(1, 0, 0); # blue 
$page[$num]->stringc($f3, 8, 530, 698, "[email protected]"); 
$page[$num]->setrgbcolor(0, 0, 0); # black 

setrgbcolorstrokeパラメータは01の間の値であることを説明しているがあります。

+1

[PDF :: Create](https://metacpan.org/release/PDF-Create)に他のクラスが含まれているかどうかを確認してから、単に「::ページ」ドキュメントの色を検索することで見つけました。 – simbabque

+0

すぐに助けてくれてありがとう – Madhan

関連する問題