私は C++ ライブラリ PoDoFo ( http://podofo.sourceforge.net/ ) を使用しています。達成しようとしているのは、PDF ページを新しい空白の PDF ドキュメントに埋め込むことです。
私が使用しているコンストラクターのドキュメントは次のとおりです。
これは私のコードが現在どのように見えるかです:
PoDoFo::PdfMemDocument existingDocument(filename);
PoDoFo::PdfStreamedDocument *newDocument = new PoDoFo::PdfStreamedDocument("new_document.pdf");
PoDoFo::PdfPage *newPage = newDocument->CreatePage(PoDoFo::PdfRect(0.0,0.0,300.0,300.0));
PoDoFo::PdfXObject *XObjectFromPage;
XObjectFromPage = new PoDoFo::PdfXObject(existingDocument, 1, newDocument);
PoDoFo::PdfPainter *painter = new PoDoFo::PdfPainter();
painter->SetPage(newPage);
painter->DrawXObject (50, 50, XObjectFromPage,1);
painter->FinishPage();
newDocument->Close();
既存の PDF ドキュメントから PdfXObject を構築すると、PdfError がスローされます。おそらく、C++ を初めて使用するか、PoDoFo にバグがある可能性があるため、間違いを犯した可能性があります。
スローされるエラーには、次のメッセージがあります。
PoDoFo encounter an error. Error: 48 ePdfError_ChangeOnImmutable
Error Description: Changing values on immutable objects is not allowed.
Callstack:
既存の PDF ページから PdfXObject を構築し、それを新しい PDF ドキュメントに埋め込む正しい方法は何ですか?