SDK跨平台移动开发
一套接口五个平台:跨平台 PDF 能力怎么共用
跨平台产品最怕「每个平台各写一套 PDF 逻辑」。同一套接口跑五个平台,就是把这块成本压下来的做法。
支持范围
Windows、macOS、iOS、Android、Linux。
⚠️ 这是 SDK 自身的支持范围;知叶PDF 客户端目前发布的是 Windows 版。两者是不同的事,见 SDK 页底部的说明。
什么能共用、什么要分平台写
- 能共用:PDF 的解析、渲染、编辑、标注与页面处理——这些属于文档模型层,调用方式一致。
- 要分平台写:界面(菜单、工具栏、手势)、文件访问(移动端有沙箱与权限模型,桌面端可以直接拿路径)、字体回退(各平台默认可用的字体不同)。
一句话:能力不用重写,交互要重写。
两个平台上最常见的坑
- 字体:文档里嵌入的字体通常没问题;没有嵌入的会落到系统字体,中英文混排时字宽变化会把版面挤歪。跨平台产品要在每个平台上验一遍典型文档。
- 文件从哪来:移动端不能随意读任意路径,要经系统的文件选择或应用沙箱。接入前先把「文件从哪来、存到哪」这条链路定下来,比后面改省事。
移动端为什么更需要 SDK
手机上做 PDF,花时间的从来不是 PDF 规范本身,而是渲染性能与内存:屏幕小要频繁重绘,内存紧张不能整份解码。SDK 提供渐进式渲染与显示设备抽象(见渲染那篇),比从零实现少走一大段路。
常见问题
一套代码能编译到五个平台吗?
能力调用可以一致,界面层与文件访问要按平台适配——见上面那一条分界。
iOS 和 Android 的功能集一样吗?
功能集一致;具体签名与交付形态以接口文档和对应平台的接入文档为准。
怎么确认我的目标平台能跑?
申请试用时说明平台,我们把试用包与接入文档一起给你。
客户端为什么不发这些平台?
那是产品发布节奏的问题,与 SDK 的支持范围无关。