ConvertAPI : 上传 doc as stream 转换为 PDF returns 乱码数据
ConvertAPI : Upload doc as stream to convert to PDF returns garbled data
我有一个代码可以从我的数据库中获取字节数组并将其发送到 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();
工作正常,尝试复制到流并将流位置设置为 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);
}
我有一个代码可以从我的数据库中获取字节数组并将其发送到 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();
工作正常,尝试复制到流并将流位置设置为 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);
}