我有一个 pdf 元素,我将其作为字符串 base64 元素返回,因为它是一个 MVC Web 应用程序并且文件位于服务器上。我目前正在使用 PDFObject 和 pdf.js 尝试在浏览器中查看此 PDF。但是,我似乎无法显示 PDF,除非我传递一个 url,当我将此应用程序放在服务器上的 IIS 中时,这将不起作用。
那么有没有办法让我的嵌入式 pdf 带有 src="{my base 64 string},然后将 PDFObject 包裹起来?如果没有,有没有办法通过 PDFObject 使用 base64 字符串而不是 url ?
此外,这是在 IE 11 中
更新 这是我的控制器
public ActionResult GetPDFString(string instrumentType, string booktype, string book, string startpage, string EndPage)
{
LRS_Settings settings = ctxLRS.LRS_Settings.FirstOrDefault();
string root = settings.ImagePathRoot;
string state = settings.State;
string county = settings.County;
g_filePath = @"\\10.20.170.200\Imaging\GA\075\Daily\" + instrumentType + "\\" + book + "\\";
//g_filePath = @"\\10.15.100.225\sup_court\Imaging\GA\075\Daily\" + instrumentType + "\\" + book + "\\";
byte[] file = imgConv.ConvertTifToPDF(g_filePath, booktype, book, startpage, EndPage);
var ms = new MemoryStream(file);
var fsResult = new FileStreamResult(ms, "application/pdfContent");
return fsResult;
//return imgConv.ConvertTifToPDF(g_filePath, booktype, book, startpage, EndPage);
}
这是我的jQuery
var options = {
pdfOpenParams: {
navpanes: 1,
toolbar: 0,
statusbar: 0,
pagemode: 'none',
pagemode: "none",
page: 1,
zoom: "page-width",
enableHandToolOnLoad: true
},
forcePDFJS: true,
PDFJS_URL: "/PDF.js/web/viewer.html"
}
PDFObject.embed("@Url.Action("GetPDFString", "DocumentView", new { instrumentType = ViewBag.instrumentType, BookType = Model.BookType, Book = ViewBag.Book, StartPage = ViewBag.StartPage, EndPage = ViewBag.endPage, style = "height:100%; width100%;" })", "#PDFViewer", options);
现在的问题是,它不是在#PDFViewer 中显示PDF,而是尝试下载文件。有人可以帮助我完成拼图的最后一块。这真让我抓狂。