[PyQt] Exporting an image to a PDF

Ajay Garg ajaygargnsit at gmail.com
Sat Oct 20 17:21:48 BST 2012


On Sat, Oct 20, 2012 at 8:43 PM, Vincent Vande Vyvre <
vincent.vandevyvre at swing.be> wrote:

> Le 20/10/12 15:59, Ajay Garg a écrit :
> > Hi all.
> >
> > I have been looking for ways to get things exported to PDF; I must say
> > that I am pleasantly surprised by the ease of exporting a
> > text-document to a PDF :)
> >
> > Googling also says that exporting an image to pdf is "easier" than
> > exporting a text-documnt in PyQt; unfortunately for me, I have not
> > been able to find the steps to do that :-\
> > So, I will be grateful if I could be directed to a "Hello World"
> > program to do this.
> >
> >
> > My requirement is very simple ::
> >
> >                 * Read an image file (png/jpeg, etc).
> >                 * Export to PDF; simple. No editing of pixels, or any
> > other stuff.
> >
> >
> >
> > Looking forward to some pointers :)
> >
> >
> >
> > Regards,
> > Ajay
> >
> >
> >
> > _______________________________________________
> > PyQt mailing list    PyQt at riverbankcomputing.com
> > http://www.riverbankcomputing.com/mailman/listinfo/pyqt
> Minimalistic example:
>
> #----------------------------------------------------------------------
> image = QtGui.QImage("myImage.jpg")
> printer = QtGui.QPrinter()
> printer.setResolution(300)
> printer.setOutputFormat(QtGui.QPrinter.PdfFormat)
> printer.setOutputFileName("myImage.pdf")
>
> painter = QtGui.QPainter()
> painter.begin(printer)
> painter.drawImage(target, image, source)
> painter.end()
>
> #------------------------------------------------------------------------
>
> where target & source are QtCore.QRectF(sheet) & QtCore.QRectF(image)
>
> A more complete example here:
>
>
> http://bazaar.launchpad.net/~vincent-vandevyvre/oqapy/serie-1.0/view/head:/oqapy-1.0/printing.py
>
>

Thanks a ton Vincent !!
I could get myself started with image-exporting to pdf (all courtesy you :)
)


One thing I must tell you; right now, I just got myself bootstrapped,
without truly putting the correct values in "target" and "source".
I have two queries though ::

a)
"target" represents the target-canvas, of which the image will take the
size, right?



b)
If yes, then I find it a  little odd, that no such target is specified,
while exporting a text-document to pdf.
For example, here is my code to export a text-document to pdf ::

####################################################################################
from PyQt4.QtGui import *
import sys

app = QApplication(sys.argv)

text_file_path = open('sample.py').read()
doc = QTextDocument(text_file_path)

printer = QPrinter(QPrinter.HighResolution)
printer.setOutputFormat(QPrinter.PdfFormat)
printer.setOutputFileName('sample.pdf')

doc.print_(printer)
####################################################################################


Here, we can see that no "target" QtCore.QRectf is passed to the printing
options.

Any idea of this descrepancy? (as to why the "target" canvas is specified
while exporting an  image; but not when exporting a text-document, though
the "target" canvas size is usually fixed, irrespective of the source
mime-type).


Thanks anyways for your already rendered massive help :)


--
> Vincent V.V.
> Oqapy <https://launchpad.net/oqapy> . Qarte
> <https://launchpad.net/qarte> . PaQager <https://launchpad.net/paqager>
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>



Regards,
Ajay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20121020/b75a0f63/attachment.html>


More information about the PyQt mailing list