【问题标题】:Dynamically set height of embedded pdf动态设置嵌入式pdf的高度
【发布时间】:2015-07-01 10:34:52
【问题描述】:

我设法动态设置包含 pdf 的嵌入元素的高度。使用 jQuery 设置新高度。但我不觉得我使用了最好的“解决方案”。

旧高度 = html中设置的高度
新高度 = 使用 jQuery 设置的新计算高度

我遇到了一个问题:我的嵌入元素的旧高度为 200 像素。当我尝试用新高度覆盖它时,嵌入元素确实更改为新高度,但 PDF 高度保持在 200 像素。 但是,当我将旧高度设置得更高(5000 像素)时,pdf 对新高度的反应正确。
短版:
新嵌入高度 > 旧嵌入高度 = pdf 高度保持在旧嵌入高度
新嵌入高度

我当前的代码如下所示:

<object>
    <embed id="embed_pdf" type='application/pdf' src="/files/<?=$var['filename']?>" data-width="<?=$var['image_width']?>" data-height="<?=$var['image_height']?>" style="max-width:<?=$var['image_width']?>px;" width="100%" height="<?=$var['image_height']?>"/>
    <p>Error message</p>
</object>

还有我的“脚本”代码:

$(document).ready(function() {
    var pdf_width = $("#embed_pdf").attr("data-width");
    var pdf_height = $("#embed_pdf").attr("data-height");
    var object_width = $("#embed_pdf").width();
    var object_height = (object_width/pdf_width)*pdf_height;
    $("#embed_pdf").attr('height', object_height);
}); 

目前它正在工作,因为旧高度始终与新高度相同或更高。但这是已知问题还是正常问题?还是我做错了什么?有什么更好的解决方案?

【问题讨论】:

    标签: javascript jquery pdf height embed


    【解决方案1】:

    我在调整 IE 11 中嵌入的 PDF 插件的大小时没有遇到任何问题,您使用的是哪个浏览器,您使用的是标准的 Adob​​e PDF 插件吗?

    $(window).resize( function(){
        //$('embed').attr('height', 200);
        height = $(window).height() - 75;
        //alert(height);
        $('embed').attr('height', height);
    });
    

    我能够在准备好文档和调整窗口大小时执行与上述类似的操作。但是,我确实将所有项目设置为 100% 宽度,例如 html、body 和所有包含我的嵌入的 div 容器。

    如果您尝试获取文档或元素高度等,您可能必须先实际缩小 PDF,但窗口高度应该没问题。

    【讨论】:

    • 感谢您的回复!我使用的是 Chrome 版本 42。为什么窗口高度上的“-75”?
    • 这可能只是滚动条等的空间,或者如果您还有标题栏,则可以防止滚动。这通常是我这样做的原因。
    猜你喜欢
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2016-04-12
    • 2011-06-04
    • 2018-06-30
    • 1970-01-01
    相关资源
    最近更新 更多