mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Fix drawing of header/footer
This commit is contained in:
parent
59fab1d482
commit
20e4db008e
@ -12,13 +12,14 @@ using namespace pdf;
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
impose_page(PdfMemDocument *doc, unsigned int dest_page_num, unsigned int src_page_num) {
|
impose_page(PdfMemDocument *doc, unsigned int dest_page_num, unsigned int src_page_num) {
|
||||||
auto xobj = doc->CreateXObjectForm(Rect(), "HeaderFooter");
|
auto &src_page = doc->GetPages().GetPageAt(src_page_num);
|
||||||
xobj->FillFromPage(doc->GetPages().GetPageAt(src_page_num));
|
auto xobj = doc->CreateXObjectForm(src_page.GetMediaBox(), "HeaderFooter");
|
||||||
auto dest = &doc->GetPages().GetPageAt(dest_page_num);
|
xobj->FillFromPage(src_page);
|
||||||
static unsigned counter = 0;
|
auto &dest = doc->GetPages().GetPageAt(dest_page_num);
|
||||||
dest->GetOrCreateResources().AddResource("XObject", "Imp"s + std::to_string(++counter), xobj->GetObject());
|
PdfPainter painter;
|
||||||
auto data = "q\n1 0 0 1 0 0 cm\n/"s + xobj->GetIdentifier().GetEscapedName() + " Do\nQ\n"s;
|
painter.SetCanvas(dest);
|
||||||
dest->GetOrCreateContents().GetStreamForAppending().SetData(data);
|
painter.DrawXObject(*xobj, 0, 0);
|
||||||
|
painter.FinishDrawing();
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject*
|
static PyObject*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user