Google开启了一个叫做PDFium的PDF软件库开源项目,开发人员能够将其纳入各种平台应用中。

据Google的Chromium项目的布道师François Beaufort称,PDFium将被包装进Google的Chrome浏览器,以替换掉封闭的源代码。

Chrome浏览器大部分代码是开源的,但也有一小部分因为许可证的原因没有开源,比如Adobe系统的Flash插件和PDF文件插件。

Chrome的用户界面团队的高级软件工程师Peter Kasting表示,使用PDFium后,Chrome中一个主要的部件现在开源了,这是一项伟大的举措。因为它减少了Chrome闭源部分的数量,而人们可能怀疑我们在利用(闭源的)那一部分做坏事。

PDFium库的重要组成部分——渲染引擎,由来自中国的福昕软件(Foxit Software)开发。福昕软件专注于创建围绕PDF标准的产品,他们表示将支持这个项目并将其托管在Google Code上。

Peter Kasting称,“福昕软件是在开源世界中最高品质的PDF引擎,现在可以作为其他项目的参考”。

PDFium将使用BSD-3开源协议,它允许开发人员修改和重新发布代码与适当的版权声明。

https://github.com/PDFium/PDFium/tree/master/fpdfsdk

Google开源PDF软件库的更多相关文章

  1. Google开源SLAM软件cartographer中使用的UKF滤波器解析

    在Google开源SLAM软件cartographer中,相对<SLAM for dummies>使用了更为复杂.性能更好的Scan匹配与UKF算法,这里简单介绍下cartographer ...

  2. 人工智能系统Google开源的TensorFlow官方文档中文版

    人工智能系统Google开源的TensorFlow官方文档中文版 2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源,机器学习作为人工智能的一种类型,可以让软件根据大量的 ...

  3. Google开源项目风格指南

    Google开源项目风格指南 来源 https://github.com/zh-google-styleguide/zh-google-styleguide Google 开源项目风格指南 (中文版) ...

  4. [Android]Google 开源的 Android 排版库:FlexboxLayout

    最近Google开源了一个项目叫「FlexboxLayout」. 1.什么是 Flexbox 简单来说 Flexbox 是属于web前端领域CSS的一种布局方案,是2009年W3C提出了一种新的布局方 ...

  5. 利用中文数据跑Google开源项目word2vec

    一直听说word2vec在处理词与词的相似度的问题上效果十分好,最近自己也上手跑了跑Google开源的代码(https://code.google.com/p/word2vec/). 1.语料 首先准 ...

  6. [转]玩转Google开源C++单元测试框架Google Test系列

    gtest的官方网站是: http://code.google.com/p/googletest/ 从官方的使用文档里,你几乎可以获得你想要的所有东西 http://code.google.com/p ...

  7. gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架

    gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架 gRPC:Google开源的基于HTTP/2和ProtoBuf的通用RPC框架 Google Guava官方教程(中文版 ...

  8. 转:玩转Google开源C++单元测试框架Google Test系列

    转自http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Google ...

  9. 玩转Google开源C++单元测试框架Google Test系列(转载)

    越来越多公司采用敏捷开发,单元和回归测试越来越重要,GTest作为最佳C++单元测试工具越来越多的被使用.转自 http://www.cnblogs.com/coderzh/archive/2009/ ...

随机推荐

  1. 【西北师大-2108Java】第二次作业成绩汇总

    2[西北师大-2108Java]第二次作业成绩汇总 以命令行方式或在Eclipse集成开发环境中编辑.编译.运行第3章示例程序3-1-3-5,结合程序运行结果理解程序代码,每个示例程序从语法.算法两个 ...

  2. Loadrunner|录制脚本时出现乱码的解决方式

    1.进入options 2. 保存后,再录制到脚本就不会有乱码了!

  3. 剑指Offer-21.栈的压入、弹出序列(C++/Java)

    题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈 ...

  4. LeetCode 739 每日温度

    1.直接遍历 暴力求解 class Solution { public: vector<int>dailyTemperatures(vector<int>& T) { ...

  5. 【Excel】创建目录

    1.=INDEX(GET.WORKBOOK(1),ROW(A1))&T(NOW()) 2. =IFERROR(HYPERLINK(我的目录&"!A1",MID(我的 ...

  6. celery分布式任务队列的使用

    一.Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery ...

  7. vue_05项目配置

    目录 vue项目配置: 前端样式结构: settings配置: vue项目路由配置: vue全局js配置: vue全局css配置: 父传子: 父组件 子组件 二.子传父 子组件 父组件 vue项目配置 ...

  8. vue 使用localstorage实现面包屑

    mutation.js代码: changeRoute(state, val) { let routeList = state.routeList; let isFind = false; let fi ...

  9. 数据仓库003 - 复习Linux shell命令 - 用户用户组 sudo 权限 du-sh find 

    一.用户用户组 [root@localhost ~]# ll /usr/sbin/user* -rwxr-x--- root root -- /usr/sbin/useradd -rwxr-x--- ...

  10. 【django json.dumps 报错】 datetime.datetime is not JSON serializable

    django 中,json.dumps 无法直接转译 datetime 类型的值. 找了无数方法,找到一个最优.最简洁的解决办法: json.dumps(results, indent=4, sort ...