規模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