konverze do PDF - was: Re: OT: kousek v C

Jaroslav Lukesh lukesh na seznam.cz
Pátek Duben 11 20:19:39 CEST 2008


Když on to není jen tak kousek kódu, to je přiohnutí něčeho většího, než pár 
řádků.
http://linux.softpedia.com/get/Utilities/img2pdf-18175.shtml
http://savannah.nongnu.org/projects/panda

V podstatě jde o to, vygenerovat PDF z JPG/TIF (libovolné velikosti) bez 
rekomprese.

inkriminovaná část v img2pdf.c takto vypadá po úpravě, která by měla 
zajistit velikost stránky stejnou jako velikost obrázku:
        /* create a page */

        int width, height;
        panda_imagesize(&width, &height, imagename, imagetype);

        char *wwidth, *wheight;
        sprintf(wwidth, "%i", width);
        sprintf(wheight, "%i", height);

        char *img_pagesize;
        sprintf(img_pagesize, "[0 0 %d %d]", width, height);


        currPage = panda_newpage(outputdoc, img_pagesize);
/*      panda_setleading(outputdoc, 16.0);  */
        panda_imagebox(outputdoc, currPage, 0, 0, height, width, imagename, 
imagetype);

Jenže takhle to hodí core, pandě vadí "[0 0 číslo číslo]", přitom v 
constants.h to tak má. Když tam nechám onu původní konstantu pro A4 a až za 
panda_newpage dám detekci panda_imagesize, tak to tam ten obrázek hodí úplně 
správně, jenže je ořezaný na A4.

Ani imagemagick, ani jpg2ps+malý hack PS souboru+ps2pdf, ani tato kombinace 
neumí hodit jpg do pdf bez rekomprese, oříznutí, nebo naopak nadbytečných 
okrajů.

Pokud na to znáte nástroj, tak se mi s ním prosím podělte. Ta panda se mi 
líbí, jde s ní do toho PDF čmárat.

Děkuji, JL.


----- Original Message ----- 
From: "Libor Chocholaty" <libor_ml1 na mts.cz>
To: "Diskuse o Linuxu v cestine" <linux na linux.cz>
Sent: Friday, April 11, 2008 3:10 PM
Subject: Re: OT: kousek v C


Jaroslav Lukesh wrote:
> Jenže já pak cc nepoužívám, volám funkci, kde jako parametr bylo cc, já 
> tam
> místo něj dám cx. No a pak mám segfault. Není to nějaká množina, pole, či
> slovník? Pokud ano, jak ho můžu pak vytvořit? Omlouvám se za necéčkovckou
> terminologii.
>

Mozna byste usetril dost nervu sobe i nam ostatnim, kdybyste sem pastnul
inkriminovany kus kodu a pockal si na reseni. :-)

Libor


> Děkuji, JL.
>
> ----- Original Message ----- 
> From: "Karel Dudasek" <karel.dudasek na vghur.army.cz>
>
>
> On Fri, 11 Apr 2008, Jaroslav Lukesh wrote:
>
>> Díky všem, nakonec mi to hodilo segfault, protože pomocí cx chci nahradit
>> tuto definici v constants.h:
>>
>> #define cc "[0 0 333 444 ]"
>>
>> No a pokud místo cc napíšu ten svůj cx, tak mám po spuštění segfault,
>> ikdyž
>> si ho tam dám explicitně jako string se stejnou hodnotou jako je v
>> definici,
>> tak to už vůbec nechápu.
>>
>
> #define provede nahrazeni jeste pred prekladem.
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
>

_______________________________________________
Linux mailing list
Linux na linux.cz
http://www.linux.cz/mailman/listinfo/linux 




Další informace o konferenci Linux