lb878 2015-08-25 15:55 采纳率: 0%
浏览 4318

用safari打开网页时将pdf文档内置于网页中显示

ASP.NET网站 ,有个页面用iframe内嵌了一个PDF文档

通过 后台处理
showPdf.Attributes.Add(src,PdfFilePath);
//PdfFilePath为pdf文件路径 D:\File\123.pdf

用IE浏览器打开此页面时,PDF内嵌在网页中显示,像百度文库一样(因为有在PDF阅读器中设置允许在Web浏览器中显示)  
上面这种情况是能搞定的

    但是现在系统需要在移动设备iPAD上显示,用safari打开此页面时,就会变成打开两个窗体,会先将整页的PDF文档单独开窗显示,无法内嵌在浏览器中显示

    有尝试着用jQuery.media.js控制去内嵌显示,失败!
    后尝试将PDF转换成JPG去显示,虽然能达到效果,但是PDF转JPG显示时,会出现偶尔部分字体乱码的情况

    在此求教各位大神是否有其他解决方案,不甚感谢!
    我没有C币,实在不好意思      -_-。sorry!
    (PDF.JS是否可行)
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 07:02
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要解决这个问题,您可以使用JavaScript和HTML来实现PDF的内嵌显示功能。以下是一个简单的示例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>PDF Display</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfjs/1.7.190/pdf.min.js"></script>
    </head>
    <body>
    <div id="pdfDisplay" style="width: 100%; height: 100%"></div>
    
    <script>
    $(document).ready(function(){
        var pdfPath = "D:/File/123.pdf"; 
        $.get(pdfPath, function(data) {
            var doc = new PDF.SimpleDoc();
            doc.fromBuffer(data);
            $('#pdfDisplay').append(doc.render());
        });
    });
    </script>
    </body>
    </html>
    

    在这个例子中,我们首先从服务器获取PDF文件的内容,并将其转换为一个Base64编码的字符串。然后,我们将这个内容插入到一个新的<div>元素中,以便它可以在页面上显示。

    请注意,这只是一个基本的例子,您可能需要根据您的具体需求进行调整。例如,您可能需要添加更多的样式或CSS,或者在PDF中包含更多元素以使其看起来更专业。

    评论

报告相同问题?