У меня есть элемент pdf, который я возвращаю как элемент base64, поскольку это веб-приложение MVC и файлы, находящиеся на сервере. В настоящее время я использую PDFObject и pdf.js, чтобы попытаться просмотреть этот PDF-файл в браузере. Однако я не могу отобразить PDF-файл, если только не передаю URL-адрес, который не будет работать, когда я помещу это приложение в IIS на сервере.Добавить PDFObject из уже созданного элемента pdf
Итак, есть способ иметь встроенный PDF-файл с помощью src = "{my base 64 string}, а затем обернуть вокруг него PDFObject? Если нет, есть ли способ через PDFObject использовать строку base64 вместо URL?
Кроме того, это в IE 11
UPDATE Вот мой контроллер
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);
Проблема теперь, вместо того, чтобы показывать PDF внутри #PDFViewer, он пытается загрузить файл. Может кто-то, пожалуйста, помогите мне в финальной части головоломки. Это сводит меня с ума.
Вы не указали браузер, у которого есть проблема. На основе стека, который вы используете, это probabl IE, и он имеет ограничение на размер URL-адресов с кодировкой base64 - большинство PDF-файлов не будут соответствовать этому пределу. – async5
Я могу получить PDF для отображения. Проблема в том, что мне действительно нужна функциональность pdf.js, поэтому я пытаюсь загрузить ее внутри pdf.js – Godrules500
Не уверен, что это поможет ... http://stackoverflow.com/questions/6439634/ view-pdf-as-part-of-the-страница Нужно ли указывать «ActionResult» как возвращаемый тип «FileStreamResult»? – Gwasshoppa