2004.04.29 13:30 "[Tiff] tif_writeproc and writing only raw-data", by Väinö Järvelä


I'm working on a software that embedds TIFF files to PDF and PostScript output. I have gotten it to somewhat work using TIFFClientOpen. But it seems that it still writes something after the raw image-data, directory maybe? I got rid of header by checking the header bytes and not writing them to the output file, but i haven't figured out how to strip the footer data off. I have checked tiff2pdf code which doesn't have this footer data in it's output.

To me, it seems that it uses custom "procs" to achieve this: Use writeproc that doesn't write anything when dealing with directories and when dealing with the actual image-data use writeproc that really writes it. Well, the code is complicated so i might miss something. But this is the basic idea that i got from it.

The problem comes up when i try to change the procs "on-the-fly":

tsize_t TiffRawWriteProc( thandle_t fd, tdata_t buf, tsize_t size );

TIFF *Output;
Output->tif_writeproc = TiffRawWriteProc;

Compiler says "error: dereferencing pointer to incomplete type" even though i can't really figure out what tiff2pdf does differently.

I would be glad if someone could help me out with this. Mainly getting rid of the error, or explaining an alternative way to get rid of the "footer"-data.


Väinö Järvelä