Sziasztok,
egy olyan problemam lenne, hogy report-ot kell generalnom perlben pdf-be. Minden mukodik is szepen csupan a kodolassal van problemam, az ekezetek helyett csupa kerdojel van.
use PDF::API2;
my $pdf = PDF::API2->new(-file => "HelloWorld.pdf");
$pdf->mediabox('A4');
my $page = $pdf->page;
my $fnt = $pdf->corefont('Times-Roman',-encode => 'latin2');
my $txt = $page->text;
$txt->textstart;
$txt->font($fnt, 20);
$txt->translate(100,800);
$txt->text("íéáűőúöüó");
$txt->textend;
$pdf->save;
$pdf->end( );
Viszont kimenetkent ezt kapom: Ă-ÊåŹőúÜßó
Elore is koszi,
bzg
- 2285 megtekintés
Hozzászólások
> $txt->text("íéáűőúöüó");
tipp:
use encoding 'latin2'; # ha a szkript szövege latin2
use Encode; # az encode() miatt
$txt->text( encode("latin2", "íéáűőúöüó") );
- A hozzászóláshoz be kell jelentkezni
"íéá??úöüó" sajna ennel jobb eredmenyt nem tudok elerni semmilyen formaban :( Szerintem minden kiprobaltam mar, tobbfele editoral irtam meg a scriptet /nano, vi, vim, netbeans, gedit/ hogy veletlenul se legyen copy/paste problema.
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
> "íéá??úöüó"
Válassz másik fontot, amiben benne van az "űő" is.
- A hozzászóláshoz be kell jelentkezni
A perl pdf api2 modulja 14 tipust tamogat, ezeket vegigprobaltam de ez a ket betu egyikben sem mukodik :(
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
> A perl pdf api2 modulja 14 tipust tamogat
Szerintem nem csak 14-et, hanem azokat is, amik telepítve vannak az op.rendszerben:
use encoding cp1250;
use PDF::API2;
my $pdf = PDF::API2->new(-file => "HelloWorld.pdf");
$pdf->mediabox('A4');
my $page = $pdf->page;
my $fnt = $pdf->corefont('Arial');
my $txt = $page->text;
$txt->textstart;
$txt->font($fnt, 20);
$txt->translate(100,800);
$txt->text("Arial: öüóőúéáűíÖÜÓŐÚÉÁŰÍ");
$txt->textend;
my $fnt = $pdf->corefont('TimesNew-Roman');
my $txt = $page->text;
$txt->textstart;
$txt->font($fnt, 20);
$txt->translate(100,780);
$txt->text("TimesNew-Roman: öüóőúéáűíÖÜÓŐÚÉÁŰÍ");
$txt->textend;
$pdf->save;
$pdf->end( );
#
- A hozzászóláshoz be kell jelentkezni
http://search.cpan.org/dist/PDF-API2/lib/PDF/API2/Resource/Font/CoreFon…
"PDF::API2::Resource::Font::CoreFont - Module for using the 14 PDF built-in Fonts."
de lehet tenyleg en ertettem rosszul, mindenesetre, az ő es ű nalam mindenkeppen kimarad :( Nalatok ez jol lefut?
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
> Nalatok ez jol lefut?
Pillanatnyilag nincs linux a gépemen, XP-n próbáltam ki.
Szerk:
Kipróbáltam ubuntu-n:
#!/usr/bin/perl -W
use encoding utf8;
use PDF::API2;
my $pdf = PDF::API2->new(-file => "HelloWorld.pdf");
$pdf->mediabox('A4');
my $page = $pdf->page;
$pdf->addFontDirs( '/usr/share/fonts/truetype/msttcorefonts' );
my $fnt = $pdf->ttfont( 'Arial.ttf' );
my $txt = $page->text;
$txt->textstart;
$txt->font($fnt, 20);
$txt->translate(100,800);
$txt->text("Arial: öüóőúéáűíÖÜÓŐÚÉÁŰÍ");
$txt->textend;
$fnt = $pdf->ttfont( 'Times_New_Roman.ttf' );
$txt = $page->text;
$txt->textstart;
$txt->font($fnt, 20);
$txt->translate(100,780);
$txt->text("Times_New_Roman: öüóőúéáűíÖÜÓŐÚÉÁŰÍ");
$txt->textend;
$pdf->save;
$pdf->end();
#
- A hozzászóláshoz be kell jelentkezni
Es ubuntu-n mukodott? :)
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
hmmm, igazad van koszonom a segitseget, tobbe kevesbe mukodik, a pdf most mar jonak tunik, csupan ilyeneket szor a script:
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
Use of uninitialized value in numeric gt (>) at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 298.
...
Character in 'C' format wrapped in pack at /usr/share/perl5/PDF/API2/Basic/TTF/Glyph.pm line 612.
Use of uninitialized value in addition (+) at /usr/share/perl5/PDF/API2/Basic/TTF/Cmap.pm line 358.
Use of uninitialized value in numeric ne (!=) at /usr/share/perl5/PDF/API2/Basic/TTF/Cmap.pm line 358.
Erre van valami otlet? Egyebkent az msttcorefonts nem volt felteve.
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
> Erre van valami otlet?
Szedd ki a '-W'-t az első sorból.
- A hozzászóláshoz be kell jelentkezni
nalam jo a peldad. nem lehet h utf8ra konfigolt editorral irtad be azt a stringet a forrasba?
- A hozzászóláshoz be kell jelentkezni
Az az igazsag, hogy az adatok LDAP-bol erkeznek a konkret feladat eseten es azokat adom at a PDF objektumnak.
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
Ha a hosszu ekezetek rosszak, akkor annyit tudsz csinalni, hogy embedelsz olyan fontot a pdf-be, amiben van CE support is.
- A hozzászóláshoz be kell jelentkezni
Embed? Ezt hogyan kell ha szabad kerdeznem?
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Koszonom a hozzaszolasokat, sikerult megoldani! :)
bzg
-- Soha ne vitatkozz idiotakkal! Lesulyedsz az O szintjukre es legyoznek a rutinjukkal !!! --
- A hozzászóláshoz be kell jelentkezni