[reportlab-users] PDF Report size too large
Jean-Yves F. Barbier
12ukwn at gmail.com
Mon Jan 23 15:30:57 EST 2012
On Sat, 21 Jan 2012 05:15:14 +0000
Asif Jamadar <asif.jamadar at rezayat.net> wrote:
> I'm using Reportlab tool to generate dynamic PDF.
> The generated PDF consist of 1 or 2 pages but the size this PDF
> reached to 5 MB. How can I decrease the size of the generate PDF.
>
> I want to decrease the size to max 500 TB. IS there any way to
> accomplish this thing in reportlab?
This is finally a good question, indeed - so I made some tests.
Greping RL code shows that it use zlib; if it's a good &
fast compression technique for communications it is not
as good for file compression.
I didn't wanted to modify RL code, so I found this way:
* create an uncompressed PDF w/RL
* transform it to PostScript
* re-transform PS to PDF
It lowered an already RL compressed PDF from 258kB to 74kB
(3.5x less) - but the chances to lower to 500kB from 5 MB
are very low...
I do it with utilities included into the ghostscript package:
pdf2ps & ps2pdf - Total time taken by the following script is
~1.7s on my old AthlonXP-1600+:
=========
#!/bin/sh
# Transform a PDF to PS and rebuild a hi compression rate PDF from PS
# Efficiency: An already compressed PDF generated by Reportab was 258kB:
# one jpeg + ~1/3 page text, org jpeg size: 113kB
# After processing it is 74kB (3.5x less)
if [ -z $1 ]
then
echo ""
echo "PDF High rate recompression"
echo ""
echo " Usage: RECOMPRESS_PDF.sh myPDFtoRecompress.pdf"
echo ""
echo " NB: Destroy the original PDF."
echo ""
else
ORG=$1
PS=${ORG}.ps
# PDF => PS
pdf2ps $1 ${PS}
# PS => PDF (org)
ps2pdf ${PS} $1
# Remove PS file
rm ${PS}
fi
--
Incest, n:
Sibling revelry; a sport the whole family can enjoy.
More information about the reportlab-users
mailing list