我有一个需要将PDF转换为XOD(在其WebViewer中显示文档的PDFTron格式)的Web应用程序。我的Web应用程序托管在Azure上,PDF位于Azure存储上。我们希望通过PDFNet SDK的本地转化(http://www.pdftron.com/webviewer/getstarted.html,请参阅“选择了转换部署模型)走,到目前为止我的代码如下:PDFNet SDK在Azure存储上转换文件
WebRequest req = HttpWebRequest.Create("url of PDF on Azure Storage here");
using (Stream stream = req.GetResponse().GetResponseStream())
{
PDFDoc pdfdoc = new PDFDoc(stream);
var converted = pdftron.PDF.Convert.ToXod(pdfdoc);
//pdfdoc.Save(stream, pdftron.SDF.SDFDoc.SaveOptions.e_linearized); //not clear to me
}
我的方法在这里是创建一个从Azure存储上的文件流创建并将该流转换为XOD。我仍然不知道是否应该调用“保存”,并且在那种情况下文件将被保存。 我的问题是:
- 既然一切在云中运行是否有意义使用CloudAPI,而不是自我托管解决方案或它没有任何区别?
- 在这两种情况下,转换的文件存储在哪里(因为我是从Azure存储而不是从本地服务器获取的),因为我需要将其移至我的存储帐户。该文件是否保存在本地(意味着正在处理它的web/worker角色),因此需要将其移至存储?
这里(http://www.pdftron.com/pdfnet/samplecode.html)有转换代码示例,但它们都使用本地计算机上的文件,这不是我的情况。
user3609640答案是正确的。但是关于你的代码。 var转换不是布尔值,而是pdftron.Filters.Filter对象。您可以使用此过滤器将XOD转换流式传输到webviewer。请参阅您下载的.Net SDK的WebViewerStreaming示例。要直接保存到文件,请调用ToXod(pdfdoc,“path_to_xod_file”),或将Filter指向文件位置。 请注意,您也可以使用DocPub CLI进行流式传输。有一个标志将输出指向标准输出管道。 – Ryan