规模PDF我有一个固定的盒子,我想通过PDF.js.渲染显示我的PDF文件由于PDF.js文档不是真正可访问的(通过它们的源文件分发),我想知道是否可以按固定宽度缩放呈现的PDF。当我设置为CSS:canvas { width: 600px; }
用于显示PDF画布中,PDF被拉长,而且质量得到较差。PDF.js固定宽度
25
A
回答
45
我更新从Pdf.js github上http://jsbin.com/pdfjs-prevnext-v2/edit#html,live例子来正确地扩展到一个固定的画布宽度。我的代码见http://jsfiddle.net/RREv9/。
的重要行是
var viewport = page.getViewport(canvas.width/page.getViewport(1.0).width);
因为表达canvas.width/page.getViewport(1.0).width
给我们合适的缩放比例。
你应该改变你的画布的宽度不使用CSS而是由帆布width
属性。请参阅Canvas width and height in HTML5
7
要确保缩放对所有页面大小(Letter,A4,A5等)都有效,您必须考虑到页面大小更改时高度和宽度之间的比率会发生变化。例如,一个流行的页面尺寸(以英寸计)是:
- 函:8.5×11 ..的0.772
- A4比:8.27×11.7的.. 0.706
- A5比:5.83×8.27。 。比率为0.704
您可以通过考虑高度和宽度来计算正确的缩放比例,并且只能缩放较小的数值。这将确保一切都适合您的画布。此外,如果您更改画布的宽度或高度,则不会损坏任何内容。
var unscaledViewport = page.getViewport(1);
var scale = Math.min((canvas.height/unscaledViewport.height), (canvas.width/unscaledViewport.width));
var viewport = page.getViewport(scale);
相关问题
- 1. 固定宽度
- 2. 固定宽度
- 3. 固定宽度
- 4. fancybox2固定宽度
- 5. 固定宽度格
- 6. CSS固定宽度跨度
- 7. 跨度的固定宽度?
- 8. 固定宽度div div宽度div?
- 9. BootstrapWP - 设定固定宽度
- 10. 角度材料 - 设定固定宽度?
- 11. jCarousel,IE6和固定宽度
- 12. 固定宽度STRUCT C++
- 13. 固定宽度的网站
- 14. 固定元素的宽度
- 15. 使网页固定宽度
- 16. 富固定宽度:dataTable
- 17. IMG固定宽度的8
- 18. Gridview宽度不固定
- 19. iOS固定宽度ScrollView
- 20. pgrid - 固定表格宽度
- 21. EMACS - 固定标签宽度
- 22. 表列固定宽度
- 23. GTK树形固定宽度
- 24. 固定宽度的jqgrid列?
- 25. ssrs固定矩阵宽度
- 26. C,固定宽度字符
- 27. CSS - 固定宽度布局
- 28. dojox DropDownSelect固定宽度
- 29. 网站固定宽度
- 30. 固定宽度的项目
非常感谢,我不知道canvas元素的CSS宽度和HTML5宽度属性之间的差异。 – Roger
所以,如果有帆布'宽度:100%'(_css property_),我可以使用'window.screen.width'价值,而不是'canvas.width'吧?我的意思是,像'VAR视= page.getViewport(window.screen.width/page.getViewport(1.0).WIDTH);'(_btw,这是工作罚款me_) –
只好用'canvasContainer.clientWidth'然后它工作。谢谢! – lony