动态设置嵌入式pdf的高度

时间:2015-04-23 10:01:27

标签: javascript jquery pdf height embed

我设法动态设置包含pdf的embed元素的高度。使用jQuery设置新的高度。但我没有感觉我使用过最好的“解决方案”。

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

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

我目前的代码如下:

<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);
}); 

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

1 个答案:

答案 0 :(得分:0)

我没有问题调整嵌入IE 11的PDF插件,您正在使用哪种浏览器,并且您使用的是标准的Adobe PDF插件吗?

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

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

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