Я не знаком с С ++. Но я могу привести вам C# пример. Так что вы можете получить идею и преобразовать ее в c ++.
string test_doc = "myTest.pdf";
FPDF_DOCUMENT doc = FPDF_LoadDocument(test_doc, NULL);
var stream = new FileStream(filename, FileMode.Create);
FPDF_SaveAsCopy(doc, stream, 0, 0);
public static bool FPDF_SaveAsCopy(FPDF_DOCUMENT document, Stream stream, SaveFlags flags, int version = 0)
{
byte[] buffer = null;
FPDF_FILEWRITE fileWrite = new FPDF_FILEWRITE((ignore, data, size) =>
{
if (buffer == null || buffer.Length < size)
buffer = new byte[size];
Marshal.Copy(data, buffer, 0, size);
stream.Write(buffer, 0, size);
return true;
});
if (version >= 10)
return FPDF_SaveWithVersion(document, fileWrite, flags, version);
else
return FPDF_SaveAsCopy(document, fileWrite, flags);
}
Надеюсь, это поможет вам в любом случае.