CQLPushButton {
id: button6
x: 4
y: 104
width: 190
height: 90
m_text: qsTr("导出pdf")
onClickedSignal: {
pdf.open();
}
}
FileDialog {
id:pdf
title: "选择保存文件路径"
folder: shortcuts.desktop
selectExisting: true
selectFolder: true
selectMultiple: false
onAccepted: {
rectangle.grabToImage(function(result) {
var path = pdf.fileUrl + "/aa.pdf";
var path1 = path.substring(8,path.length);
console.log(path1);
printPreviewForm.actionPdfCreate(path1);
});
}
}
void PrintPreviewForm::actionPdfCreate(QString fileName)
{
qDebug()<<"fileName"<<fileName;
QFile pdfFile(fileName);
pdfFile.open(QIODevice::WriteOnly); // 打开要写入的pdf文件
QPdfWriter* pPdfWriter = new QPdfWriter(&pdfFile); // 创建pdf写入器
pPdfWriter->setPageSize(QPagedPaintDevice::A4); // 设置纸张为A4
pPdfWriter->setResolution(100); // 设置纸张的分辨率为300,因此其像素为3508X2479
int iMargin = 10; // 页边距
pPdfWriter->setPageMargins(QMarginsF(iMargin, iMargin, iMargin, iMargin));
QPainter* pPdfPainter = new QPainter(pPdfWriter); // qt绘制工具
paint(pPdfPainter);
delete pPdfPainter;
delete pPdfWriter;
pdfFile.close();
}