使用html和css的pdf生成器

xhtml2pdf-legac的Python项目详细描述


基于python的html/css-to-pdf转换器修补为使用枕头>;=2.7.0,<;=2.8.0

关于

xhtml2pdf是使用reportlab工具包的html2pdf转换器, html5lib和pypdf。它支持HTML5和CSS2.1(以及一些CSS3)。 它完全用纯python编写,因此与平台无关。

这个工具的主要好处是,具有html和css等web技能的用户 能够快速生成pdf模板而无需学习新的 技术。

要求

  1. Reportlab Toolkit 2.2+

  2. html5lib 0.11.1+

  3. pyPdf 1.11+ (optional)

    所有要求都列在requirements.txt文件中。

开发环境

python、virtualenv和依赖项
  1. 安装Python2.6.x或2.7.x。安装步骤取决于您的操作系统。

  2. 安装pip,python包安装程序:

    sudo easy_install pip
    

    有关pip的详细信息,请参阅http://www.pip-installer.org/

  3. 我建议使用virtualenv进行开发。有单独的环境 每个项目,将多个项目的依赖项分开:

    sudo pip install virtualenv
    

    有关virtualenv的详细信息,请参阅http://www.virtualenv.org/

  4. 为项目创建virtualenv。它可以在项目目录中,但不能在 版本控制:

    virtualenv --distribute xhtml2pdfenv
    
  5. 激活您的虚拟机:

    source xhtml2pdfenv/bin/activate
    

    以后停用使用:

    deactivate
    
  6. 下一步将从requirements.txt文件安装/升级依赖项:

    pip install -r requirements.txt
    
  7. 运行测试以检查配置:

    nosetests --with-coverage
    

    您应该具有成功状态的日志:

    Ran 35 tests in 0.322s
    
    OK
    

python集成

关于如何将xhtml2pdf集成到 python程序可以在这里找到:test/simple.py

贡献

这个软件的开发在github上进行,主fork是 当前位于https://github.com/chrisglass/xhtml2pdf

任何形式的贡献都是受欢迎的,但是使用github的pull请求 系统非常受欢迎,因为它可以进行审查和集成 容易多了。

运行测试

有两个不同的测试套件可用于断言XHTML2PDF工作可靠:

  1. 单元测试。单元测试框架目前是最小的,但是 每日改进(欢迎投稿)。他们应该在 python的unittest模块的预期方式,即:

    nosetests --with-coverage (or your personal favorite)
    
  2. 功能测试。感谢MAWE42超酷的工作,全功能 测试套件位于testrender/中。

联系人

维护者:chris glass<;tribaal@gmail.com>;

许可证

版权所有2010 Dirk Holtwick,Holtwick.it

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将多个线程中的函数放入单个队列   数组在Java中,如何在不改变整数顺序的情况下找到整数组的顺序?   java控制器属于表示层?   java Apache Ivy和本地Maven repo如何处理使用Maven 3构建的快照   Java可与泛型类型进行比较   java这个表达式在泛型中是什么意思   JavaEclipse和TeamCity插件   java检测构造函数中的final是否为空   java如何在StanfordCoreNLP管道中同时使用词汇化和依赖性解析器?   java在AntUnit控制台日志中显示完整异常堆栈跟踪   lambda如何与Java 8供应商建立连锁关系   如何让GRPC的重试机制在Kubernetes集群中使用grpcjava工作?   如何使用openjdk:7 Docker映像和Gradle包装器避免“EC参数错误”?   java将集合映射扩展为一维映射新的“无法推断函数接口类型”