通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

这篇具有很好参考价值的文章主要介绍了通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如题

最近导出pdf ,想实现文本支持超链接跳转, 看了下skia的官网文档, 翻墙找各种资料
就是找不到关于怎么实现,毫无头绪咋办呢

我想了一下
1.粗略翻阅了下pdf的格式
了解了下基本的构成 啥root page text 啥的

2.通过pdf格式了解到 链接是通过LinkAnnotation
到这一步骤 我就google [skia LinkAnnotation]
发现还是没有相关的资料
通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

  1. 我开始去调试翻译skia pdf的源码

首先skia实现pdf 在我用的这个版本不是基于 fox福昕核心实现的
chrome的内核 pdf 还是基于他

翻阅了下源码 有个pdf 文件夹 里面都是skia的实现
找到一个最重要的文件
skpdfdocumentpriv.cpp
通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink
找到了 Annotations 的字眼
通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

看了下这个接口的实现 ,明确就是要生成这个玩意就可以跳转了 , 就全局搜索这个接口在哪里用的

通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink
std::vector<std::unique_ptr> fCurrentPageLinks;

找到这个了

通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

继续找
SkPDFDevice::drawAnnotation

这个就是 canvas的 drawAnnotation

只要绘制一个这个东西就好了
往上在找两层

通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink

搞定

传递一个 画布, 一个 链接的范围框, 一个链接的地址

实现了 hover这个看不见的矩形框,点击就可以跳转到设置的地址了

通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink
真的是官方资料也没有, 网上一点资料也没有, 费劲巴拉的找到的 记录一下文章来源地址https://www.toymoban.com/news/detail-502531.html

到了这里,关于通过skia导出pdf 生成超链接 skia pdfdocument annotation pdflink的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot 集成 Ureport2 导出Excel报表、生成PDF文件

    目录 1.ureport 介绍:     文档视频教程地址: 2. 如何在springboot 项目中实现各种报表导出、PDF文件导出 2.1使用IDEA创建maven工程   2.2添加yml配置信息 application.yml: 2.3添加引用UReport2的Spring配置文件context.xml  2.4添加property文件 2.5新建webapp目录,新建WEB-INF 2.7 创建启动类   2.8

    2024年02月08日
    浏览(54)
  • 接了个变态需求:生成 Excel + PDF 导出,用 Java 怎么实现?

    Excel、PDF的导出、导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策。 公司有这么两个需求: 需求一 、给了一个表单,让把查出来的数据组装到表单中并且提供以PDF格式的下载功能。 需求二、  将

    2024年02月20日
    浏览(44)
  • 3D数据导出工具HOOPS Publish:3D数据查看、生成标准PDF或HTML文档!

    HOOPS中文网 http://techsoft3d.evget.com/ 一、3D导出SDK HOOPS Publish是一款功能强大的SDK,可以创作丰富的工程数据并将模型文件导出为各种行业标准格式,包括PDF、STEP、JT和3MF。HOOPS Publish核心的3D数据模型是经过ISO认证的PRC格式(ISO 14739-1:2014),它为装配树、拓扑和几何、产品制造信息

    2024年02月10日
    浏览(43)
  • java集成itextpdf实现通过pdf模板填充数据生成pdf

    我采用的是pdfelement 官网地址需要付费或者自行破解,也可以使用其他pdf编辑器。 将制作好的pdf模板放入项目resources/pdf目录下,如图 浏览器访问ip:port/test/pdf,其中ip为你的ip地址,port为你的端口,访问结果如下:

    2024年02月16日
    浏览(42)
  • springboot基础(79):通过pdf模板生成文件

    通过pdf模板生成文件。 支持文本,图片,勾选框。 本章代码已分享至Gitee: https://gitee.com/lengcz/pdfdemo01 先使用wps软件制作一个docx文档 将文件另存为pdf文件 使用pdf编辑器,编辑表单,(例如福昕PDF阅读器、Adobe Acrobat DC) 不同的pdf编辑器使用方式不同,建议自行学习如何使用p

    2024年02月10日
    浏览(40)
  • 【微信小程序】导出 Excel 报表并分享,使用xlsx库生成 Excel,使用echars插入图表、使用pdfmake导出为PDF文件

    要在微信小程序中导出 Excel 报表并分享,可以使用第三方库 xlsx 来生成 Excel 文件,并使用 wx.saveFile 方法将文件保存到本地,然后使用 wx.shareFile 方法来分享文件。 以下是一个示例代码,演示如何在微信小程序中导出 Excel 报表并分享: 首先,安装依赖库 xlsx ,可以使用 npm

    2024年02月13日
    浏览(142)
  • vue2如何将页面生成 pdf 导出 html2Canvas + jspdf

    npm i html2canvas npm i jspdf import html2canvas from \\\'html2canvas\\\'; import jsPDF from \\\'jspdf\\\' export const htmlToPDF = async (htmlId, title = \\\"报表\\\", bgColor = \\\"#fff\\\") = {   let pdfDom = document.getElementById(htmlId)   pdfDom.style.padding = \\\'0 10px !important\\\'   const A4Width = 595.28;   const A4Height = 841.89;   let canvas = await html2canvas(pd

    2024年02月16日
    浏览(59)
  • QT通过QPdfWriter类实现pdf文件生成与输出

    一.QPdfWriter类介绍 本文代码工程下载地址: https://download.csdn.net/download/xieliru/88736664?spm=1001.2014.3001.5503 QPdfWrite是一个用于创建PDF文件的类,它是Qt库的一部分。它提供了一些方法和功能,使您能够创建和写入PDF文件。 QPdfWriter的一些主要功能: 1. 创建PDF文件:通过使用QPdfWrit

    2024年02月02日
    浏览(40)
  • 前端excel文件处理,vue2 、file-saver、xlsx, excel文件生成与excel文件链接数据导出

    安装插件 如使用TS开发,可安装file-saver的TypeScript类型定义 下载文件流 本地文件下载 文件下载(列宽自适应) 表格显示,每列列宽自适应 xlsx文件链接数据导出 方法调用

    2024年02月11日
    浏览(59)
  • SonarQube 9.x集成Jenkins生成PDF扫描报告并通过邮件附件的方式发送;

    前面我们在Kubernetes中部署了SonarQube并与Jenkins集成扫描了前后端代码; 部署SonarQube链接 SonarQube与Jenkins集成扫描前后端代码链接 接下来记录一下如何将扫描报告通过邮件附件的形式推送到相应人的邮箱; https://gitee.com/zzulj/sonar-pdf-plugin/releases https://gitee.com/zzulj/sonar-pdf-plugin/r

    2024年02月07日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包