miten tehdä PDF perlillä.

mie ite

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.

7

2017

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • mie ite

      niin ja käyttis on Mandrake linux

    • *BSD

      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.

      • ite

        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.


      • ite
        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?


      • ite
        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


      • ite

        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.


      • Peke
        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;


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tiedätkö mihin

      Ominaisuuksiin rakastuin sinussa?
      Ikävä
      74
      4217
    2. Purra on kantanut vastuuta täyden kympin arvoisesti

      Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans
      Maailman menoa
      89
      3943
    3. Surullista

      Että menetit sen naisen , tosi surullista ja vielä oman tyhmyyden takia ,ymmärrän että se on masentavaa
      Ikävä
      57
      2468
    4. Muuttunut käytös

      Onko kaivattusi käytös muuttunut? Tiedätkö mistä se johtuu? Haluatko kertoa, mitä tapahtui?
      Ikävä
      65
      2312
    5. Väkeä oli liikkeellä

      Nyt leijutaan pilvissä. Kun eläinpuistossa oli porukkaa 😆😆 Olihan siellä kun ilmaiseksi pääsivät. Eiköhän se juuri sik
      Ähtäri
      41
      2034
    6. Oliko kiihkeä

      ensimmäinen yö?
      Ikävä
      49
      1889
    7. 111
      1834
    8. Kummallista

      Oletteko koskaan ihastuneet ihmiseen, joka ei ulkonäöltään vastaa ollenkaan ihannettanne?
      Sinkut
      55
      1663
    9. Miltä meidän

      Riidat näyttäisi ja mistä niitä voisi tulla?
      Ikävä
      56
      1662
    10. Ikävä Jii.

      Toivotko vielä näkemistä?
      Ikävä
      65
      1558
    Aihe