0

是否有任何示例显示如何使用FPDF_SaveAsCopy()保存 PDF 文档的功能?我在任何地方都找不到任何例子!

4

1 回答 1

0

我不熟悉c++。但我可以给你一个 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);
        }

我希望这会对你有所帮助。

于 2020-04-30T14:04:08.753 回答