我可以更改 pdf 文本对象的文本,并且 pdfium 函数显示“一切正常”。但是当我保存更改后的 pdf 文档时,没有可见的更改。有些东西不见了,我不知道是什么。
int co = FPDFPage_CountObjects(page);
for (int j = 0; j < co; ++j) {
FPDF_PAGEOBJECT pobj = FPDFPage_GetObject(page, j);
if (FPDFPageObj_GetType(pobj) == FPDF_PAGEOBJ_TEXT) {
...
if (FPDFText_SetText(pobj, (FPDF_WIDESTRING)L"New Text")) {
std::cout << "#VAL1 was changed\n";
//FPDFPage_GenerateContent(page);
}
}
}
...
FPDF_ClosePage(page);
...
FPDF_FILEWRITE_EX fw;
fw.pFile = fopen("C:\\work\\newpdf.pdf", "wb");
fw.version = 1;
fw.WriteBlock = MyDelegateSaveFunc;
FPDF_SaveAsCopy(doc, &fw, FPDF_NO_INCREMENTAL);
fclose(fw.pFile);
FPDF_CloseDocument(doc);
如果我确实调用了 GenerateContent(我认为不需要),那么整个保存的页面都是空的。我确实使用了最后一个 pdfium 二进制版本 3764。