qt svg图形写入pdf失败
//利用QFileDialog对话框选择文件存储路径
QString path = QFileDialog::getSaveFileName(this,tr("Open File"),".",tr("PDF Files(*.pdf)"));
if(!path.isEmpty())
{
//如果没有写后缀就自动加上
if(QFileInfo(path).suffix().isEmpty())
path.append(".pdf");
//实例化该文件,并以只写的方式打开
QFile pdfFile(path);
if(!pdfFile.open(QIODevice::WriteOnly))
{
QMessageBox::warning(this,tr("write File"),tr("Cannot open file:\n%1").arg(path));
return;
}
QPdfWriter *pdfWriter = new QPdfWriter(&pdfFile); //实例化QPdfWriter
QPainter *pic_painter = new QPainter(pdfWriter); //实例化QPainter
pdfWriter->setPageSize(QPagedPaintDevice::A4); //设置纸张为A4纸
pdfWriter->setResolution(300); //设置分辨率
/******************************************************以下为自定义绘图**************************************/
////SVG渲染
QSvgRenderer* svgRender = new QSvgRenderer(QString(QCoreApplication::applicationDirPath() + "/tools/handleFile/mark.svg"));
QPixmap pixmap(100, 100);
pixmap.fill(Qt::transparent);//设置背景透明
QPainter p;
p.begin(&pixmap);
svgRender->render(&p);
pic_painter->drawPixmap(50, 100, pixmap);
结果:pdf文件中没有svg图形内容