Ability to draw on a page trough page content stream builder

This commit is contained in:
Jakub Melka
2020-11-16 13:20:14 +01:00
parent cb3a36f891
commit 018c8fae3e
5 changed files with 141 additions and 1 deletions

View File

@ -25,4 +25,5 @@ int main(int argc, char *argv[])
PDFExamplesGenerator::generateAnnotationsExample();
PDFExamplesGenerator::generatePageBoxesExample();
PDFExamplesGenerator::generateOutlineExample();
PDFExamplesGenerator::generatePageDrawExample();
}

View File

@ -358,3 +358,31 @@ void PDFExamplesGenerator::generateOutlineExample()
pdf::PDFDocumentWriter writer(nullptr);
writer.write("Ex_Outline.pdf", &document, false);
}
void PDFExamplesGenerator::generatePageDrawExample()
{
pdf::PDFDocumentBuilder builder;
builder.setDocumentTitle("Test document - Page draw");
builder.setDocumentAuthor("Jakub Melka");
builder.setDocumentCreator(QCoreApplication::applicationName());
builder.setDocumentSubject("Testing page draw");
builder.setLanguage(QLocale::system());
QPainter* painter = nullptr;
pdf::PDFPageContentStreamBuilder pageContentStreamBuilder(&builder);
painter = pageContentStreamBuilder.beginNewPage(QRectF(0, 0, 300, 480));
painter->drawEllipse(QPointF(150, 240), 65, 25);
painter->fillRect(QRectF(0, 0, 50, 50), Qt::green);
pageContentStreamBuilder.end(painter);
painter = pageContentStreamBuilder.beginNewPage(QRectF(0, 0, 300, 480));
painter->drawText(QPointF(50, 50), "This is testing text!");
pageContentStreamBuilder.end(painter);
// Write result to a file
pdf::PDFDocument document = builder.build();
pdf::PDFDocumentWriter writer(nullptr);
writer.write("Ex_PageDraw.pdf", &document, false);
}

View File

@ -26,6 +26,7 @@ public:
static void generateAnnotationsExample();
static void generatePageBoxesExample();
static void generateOutlineExample();
static void generatePageDrawExample();
};
#endif // PDFEXAMPLESGENERATOR_H