[英]PDF report layout broken using setPaperSize(QPrinter::A4) QPrinter
我使用以下代碼設置QPrinter對象的紙張尺寸:
printer_.setPaperSize(QPrinter::A4);
在我的計算機上,它按預期工作,但在另一台計算機上,我的PDF報告布局“損壞”。
搜索原因,發現此問題: Qt QPrinter setPaperSize無法正常工作
就像@Jens所說的: “ setPaperSize依賴於從打印機驅動程序接收的信息...” 。
我檢查了Qt文檔上的QPrinter::A4
尺寸,它的尺寸對應於210 x 297 mm 。
我可以從以下位置更改setPaperSize參數: printer_.setPaperSize(QPrinter::A4);
到printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);
? 它是否可以正常工作(與打印機無關)?
我之所以這樣問,是因為我再也沒有其他計算機可以對其進行測試了,並且無法在計算機上重現該問題。 順便說一句,如果有人知道如何在計算機上重現該問題以測試問題是否得到解決,我將不勝感激。
圖像上的黑色邊框僅用於顯示打印區域的邊界。
注意 :我正在使用Qt 5.3.2
我從以下更改了setPaperSize參數:
printer_.setPaperSize(QPrinter::A4);
至:
printer_.setPaperSize(QSizeF(210, 297), QPrinter::Millimeter);
值210和297來自Qt文檔:
“ QPrinter :: A4-0-210 x 297毫米,8.26 x 11.69英寸”
基本上,不是使用QPrinter::A4
從打印機設備獲取尺寸,而是根據正確的A4毫米尺寸設置固定的QSizeF
。
它為我工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.