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

2024

    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. Mitkä asiat

      tekevät vaikeaksi kohdata kaivattusi?
      Ikävä
      74
      1114
    2. 75
      1111
    3. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      48
      1004
    4. Miltä se tuntuu

      Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s
      Ikävä
      104
      958
    5. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      51
      935
    6. En mahda sille mitään

      Olet ihanin ja tykkään sinusta todella paljon.
      Ikävä
      33
      717
    7. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      49
      704
    8. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      34
      607
    9. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      50
      590
    10. Nanna Karalahti :Paljastus bisneksistä Jere Karalahden kanssa!

      Ottanut yhteyttä seiskalehden toimittajaan ja kertonut totuuden yhteisestä Herotreeni-nimisestä verkkovalmenuksesta.
      Kotimaiset julkkisjuorut
      118
      557
    Aihe