[SP-pm] Criação de PDF com Perl

Renato Santos renato.cron at gmail.com
Wed Aug 11 08:47:18 PDT 2010


Olá,

Eu estava acostumado a usar o PDF::Reuse para criar PDF.

Ele é bem rápido, e é até dá para fazer PDFs legais(leia-se complexos) com
ele.

Mas instalei o PDF::API2 para poder utilizar o PDF::API2::TextBlock, assim,
consigo escrever facilmente textos com alinhamentos justificado.

é otimo (ainda vou corrigir o bug do align=center/right, pois preciso deles
funcionando, ai subo no CPAN)

Porem, o PDF::API2 esta(e eu li que é) muito devagar,

apenas para criar uma pagina, demora 700ms.
Ler um PDF com 66 paginas demora 4 minutos,
Isso é um bocato de tempo em comparação ao PDF::Reuse, que demora em torno
de 2segundos (mas ele nao consegue ler o PDF gerado pelo PDF::API2 pois fica
igual quando é salvo pelo Photoshop quando marca Otimized)

Alguem sabe como posso saber qual é a rotina mais lenta do PDF::API2 (ou
recomenda outro mais rapido)

Dessa vez a maquina nao é ruim:
processor    : 0
vendor_id    : GenuineIntel
cpu family    : 15
model        : 4
model name    : Intel(R) Xeon(TM) CPU 3.20GHz
stepping    : 1
cpu MHz        : 3200.285
cache size    : 1024 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 1
apicid        : 0
initial apicid    : 0
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 5
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc
pebs bts pni monitor ds_cpl cid cx16 xtpr
bogomips    : 6407.00
clflush size    : 64
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 15
model        : 4
model name    : Intel(R) Xeon(TM) CPU 3.20GHz
stepping    : 1
cpu MHz        : 3200.285
cache size    : 1024 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 1
apicid        : 1
initial apicid    : 1
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 5
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc
pebs bts pni monitor ds_cpl cid cx16 xtpr
bogomips    : 6400.63
clflush size    : 64
power management:



Codigos de exemplo:
use strict;
use PDF::API2;

my $fnt;
my $pdf = PDF::API2->new;
$fnt = $pdf->corefont('Times');
my $page = $pdf->page;
$page->mediabox('A4');
my $gfx = $page->gfx;

$gfx->textlabel(200,700,$fnt,20,'Hello World !');
$pdf->saveas('test.pdf');

$pdf->end;



-- 
Renato Santos
http://www.renatocron.com/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100811/4ff9e4eb/attachment.html>


More information about the SaoPaulo-pm mailing list