Я хотел бы использовать Cairo для создания многостраничного PDF-документа, в котором каждая страница имеет общий шаблон. Можно ли использовать PDF Form XObjects из Каира, чтобы каждая страница использовала один и тот же шаблон, добавляя только настройки на страницу?
Я пытался использовать Context.set_source_surface
, но кажется, что поверхность растрируется перед покраской:
import cairo
template_sfc = cairo.PDFSurface("/tmp/template.pdf", 600, 600)
template_ctx = cairo.Context(template_sfc)
template_ctx.move_to(20, 20)
template_ctx.set_source_rgb(0, 0, 0)
template_ctx.show_text("HELLO")
template_ctx.fill()
sfc = cairo.PDFSurface("/tmp/actual.pdf", 612, 792)
ctx = cairo.Context(sfc)
ctx.set_source_surface(template_sfc)
ctx.paint()
sfc.finish()