Qt World Summit: Submit your Presentation

How to print text on multiple pages?

  • I am trying to print the details of a form but I am not sure how to do it if the information needs to be split on multiple pages.
    Am using QImage with QPainter to make a picture using drawText and then send it QPrinter to print it.
    The issue is to make the entire QImage need to send to QPainter, I don't know how I can calculate QRect's height based on the QString provided.

    Any ideeas?

  • Went with making a html document and simply printing that using WebEnginePage.

  • @adutzu89 Hi.
    First thing: why are you using QImage? You can just draw text on the Painter using drawText. This way is simpler - text will be divided into pages as it goes.
    Apart from that you can request new page explicitly by calling printer.newPage().
    With QImage things complicate a bit, since print size depends on image DPI and page DPI - you can either scale the image to fit certain size you have on the page or calculate the size using DPI of the image and DPI of a printer/page.

  • @artwaw Hi and thanks for answering,
    To be honest that's what I thought to be the best course because I will also need add some small images inline with some of the text.

  • @adutzu89 In addition, you can have more control over the format using QTextDocument - it requires a bit of a practice but is really powerful class.

  • @artwaw

    I understand, will try to look into it in the nearest future, thank you very much.

Log in to reply