miten tehdä PDF perlillä.

Eli miten saan tehtyä kuvia sisältävän PDF-tiedoston perlillä.

PDF::create ei tue kuvia, tai en ainakaan sellaista ominaisuutta löytänyt.

PDF::CreateSimple ei suostu toimimaan, ei edes MakeFile mene läpi, aina kaatuu johonkin 15 erroriin.

PDF::API2 kaatuu API2 rivillä 720 olevaan virheelliseen kutsuun.

muita ehdotuksia. ja mielellään yksinkertainen koodi esimerkki.

kuvaa, tekstiä ja viivoja pitäisi saada sivuille.
72044
Äänestä

Muut lukivat myös

Vastaukset 7

Vanhimmat

niin ja käyttis on Mandrake linux

Äänestä

En juurikaan ole perehtynyt tuohon PDF-formaattiin (muuta kun loppukäyttäjänä).

Jokatapauksessa, jos sun on pakko Perliä käyttää generoimaan suoraan PDF kuvilla niin ainakin tuo PDF::API2 näyttäisi homman tekevän. Jos ei moduuli käänny (perl Makefile.PL, make, make test, make install) niin pistä tänne virhetekstit, jotta voidaan ihmetellä enemmän. Yleensä noi on kyllä toiminut ihan heittämällä.

Vaihtoehtona on tehdä esim PostScript-tiedosto (ja sinne kuvat mukaan eps:nä) sitten ps2pdf konvertoi tuon PDF:ksi.

Äänestä
  • eli tuo PDF::CreateSimple lähti toimimaan ihan OK.

    tuotokset aukeavat aivan oikein Xpdf:llä ja gPdf:llä, myös Ooffice näyttää ne oikein, mutta...

    kun siirrytään windosin puolelle niin Adobe reader vain herjaa, illegal operation inside the path, eikä suostu aukaisemaan.

    Äänestä

  • ite kirjoitti:

    eli tuo PDF::CreateSimple lähti toimimaan ihan OK.

    tuotokset aukeavat aivan oikein Xpdf:llä ja gPdf:llä, myös Ooffice näyttää ne oikein, mutta...

    kun siirrytään windosin puolelle niin Adobe reader vain herjaa, illegal operation inside the path, eikä suostu aukaisemaan.

    Ooffice ei lue PDF:ää..... paino virhe

    windowsin Foxit antaa herjan ettei pysty avaamaan.

    muita millä voisi testata?

    Äänestä

  • ite kirjoitti:

    eli tuo PDF::CreateSimple lähti toimimaan ihan OK.

    tuotokset aukeavat aivan oikein Xpdf:llä ja gPdf:llä, myös Ooffice näyttää ne oikein, mutta...

    kun siirrytään windosin puolelle niin Adobe reader vain herjaa, illegal operation inside the path, eikä suostu aukaisemaan.

    Warning: Cannot convert string "-*-time-bold-i-normal--20-*-*-*-*-*-iso8859-1" to type FontStruct

    Äänestä

  • ok, hylkäsin nuo "helpot" tiet, ja latasin API2:n.

    sivun saan luotua, se jopa aukeaa windowsin lukijoilla.

    Mutta mitään en sivuilla saa näkymään, en tekstiä, en kuvia, pelkkä tyhjä sivu.

    Äänestä

  • ite kirjoitti:

    ok, hylkäsin nuo "helpot" tiet, ja latasin API2:n.

    sivun saan luotua, se jopa aukeaa windowsin lukijoilla.

    Mutta mitään en sivuilla saa näkymään, en tekstiä, en kuvia, pelkkä tyhjä sivu.

    Moduuli on siis PDF::Create, ja tuossa alla pikku sample, jonka pitäisi toimia. En ole testannut, mutta kokeilepa. Jos ajat Unixissa/Linuxissa, niin pdf-dokun pitäisi avautua ja näkyä myös Winsussa.

    use PDF::Create;

    $filename = "file01.pdf";
    my $pdf = new PDF::Create(
              'Version' => 1.2,
              'PageMode' => 'UseNone',
              'Author' => 'John Doe',
              'Title' => 'My Document',
           );
    my $root = $pdf->new_page('MediaBox' => $pdf->get_page_size("a4"));

    # Add a page which inherits its attributes from $root
    my $page = $root->new_page;

    # Prepare 2 fonts
    my $f1 = $pdf->font('Subtype' => 'Type1',
           'Encoding' => 'WinAnsiEncoding',
           'BaseFont' => 'Helvetica');
    my $f2 = $pdf->font('Subtype' => 'Type1',
           'Encoding' => 'WinAnsiEncoding',
           'BaseFont' => 'Helvetica-Bold');

    # Prepare a Table of Content
    my $toc = $pdf->new_outline('Title' => 'My title',
              'Destination' => $page);

    my $center = 320;
    my $row = 600;

    $page->stringc($f1, 48, $center, 650, "HEADING");
    $page->stringc($f2, 24, $center, 600, "Some Text...");
    $page->stringc($f1, 24, $center, 560, "...more text..");
    $page->stringc($f1, 24, $center, 520, "...and more...");
    $page->stringc($f2, 24, $center, 480, " - Foo - ");
    $page->stringc($f2, 24, $center, 440, " - Bar - ");

    $page->string($f2, 16, 150, 120, "Some more text");

    $page->line(150,80,350,80);
    $page->string($f2, 16, 150, 60, "Again some string");

    my $gif = $pdf->image("someimg.gif");

    $page->image('image' => $gif, 'xpos' => 10, 'ypos'=> 10, 'xscale' => 0.25, 'yscale' => 0.25);

    $pdf->close;

    binmode STDOUT;

    print $pdf->get_data;

    Äänestä

Kommentoi aloitusta


mie ite kirjoitti:

Eli miten saan tehtyä kuvia sisältävän PDF-tiedoston perlillä.

PDF::create ei tue kuvia, tai en ainakaan sellaista ominaisuutta löytänyt.

PDF::CreateSimple ei suostu toimimaan, ei edes MakeFile mene läpi, aina kaatuu johonkin 15 erroriin.

PDF::API2 kaatuu API2 rivillä 720 olevaan virheelliseen kutsuun.

muita ehdotuksia. ja mielellään yksinkertainen koodi esimerkki.

kuvaa, tekstiä ja viivoja pitäisi saada sivuille.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu