簡體   English   中英

使用setPaperSize(QPrinter :: A4)QPrinter破壞了PDF報告布局

[英]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);

210297來自Qt文檔:

“ QPrinter :: A4-0-210 x 297毫米,8.26 x 11.69英寸”

基本上,不是使用QPrinter::A4從打印機設備獲取尺寸,而是根據正確的A4毫米尺寸設置固定的QSizeF

它為我工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM