0

我有一个代码,它从我的数据库中获取字节数组并将其发送到 convertAPI 以将其转换为 PDF。

当我按原样下载文档时,它工作正常(因此字节 [] 或文档没有问题),但是当我将流发送到 ConvertAPI 时,生成的 PDF 都是乱码并且有 200 多页(文档只有 1 页)。该文档确实包含图像和中文文本。

这是我的代码(应用程序是用 C# web api 编写的):

var convertApi = new ConvertApi("<my key>");
var stream = new MemoryStream(documents[0].content);
var convertToPdf = await convertApi.ConvertAsync("doc", "pdf",
                new ConvertApiFileParam(stream, "test.doc")
            );
var outputStream = await convertToPdf.Files[0].FileStreamAsync();
4

1 回答 1

1

工作正常,尝试复制到流并将流位置设置为 0;

            var convertApi = new ConvertApi("secret");
            try
            {
                var stream = new MemoryStream();


                using (var file = new FileStream(@"..\..\..\..\examples\TestFiles\test.docx", FileMode.Open, FileAccess.Read))
                    await file.CopyToAsync(stream);
                stream.Position = 0;

                var convertToPdf = await convertApi.ConvertAsync("docx", "pdf",
                    new ConvertApiFileParam(stream, "test.docx")
                );

                var outputStream = await convertToPdf.Files.First().FileStreamAsync();

                Console.Write(new StreamReader(outputStream).ReadToEnd());
                Console.WriteLine("End of file stream.");
                Console.ReadLine();
            }
            catch (ConvertApiException e)
            {
                Console.WriteLine("Status Code: " + e.StatusCode);
                Console.WriteLine("Response: " + e.Response);
            }
于 2021-09-09T08:18:26.173 回答