qq_57041630 2022-11-25 18:28 采纳率: 25%
浏览 6
已结题

qt svg图形写入pdf失败

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图形内容

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-25 20:01
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 已采纳回答 11月30日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 开发一个小区生态的小程序
  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 Spring MVC项目,访问不到相应的控制器方法
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?
  • ¥15 关于#genesiscsheel#的问题,如何解决?
  • ¥15 Android aidl for hal
  • ¥15 STM32CubeIDE下载程序报错
  • ¥15 微信好友如何转变为会员系统?(相关搜索:小程序)
  • ¥15 c# 直接使用c++ 类库文件