html文件嵌入到reportlab,xhtml2pdf: A library for converting HTML into PDFs using ReportLab

XHTML2PDF

xhtml2pdf.svg

master?svg=true

badge.svg?branch=develop&service=github

xhtml2pdf.svg

?version=latest

The current release of xhtml2pdf is xhtml2pdf 0.2b1 which is a beta that has

Python 3 support. As with all open-source software, its use in production depends

on many factors, so be aware that you may find issues in some cases.

Big thanks to everyone

who has worked on this project so far and to those who help maintain it.

What else can you use instead?

Go use WeasyPrint, the codebase is pretty, it has a different features, and it

does a lot of what xhtml2pdf does and it is easier to use in many circumstances.

Documentation?

xhtml2pdf has some documentation, and we could use your help improving it.

A good place to start is doc/usage.rst.

This project is community-led! To strengthen it, please hang out on IRC #xhtml2pdf (Freenode)

or join our maling list.

Call for testing

This project is heavily dependent on getting its test coverage up!

Currently, Python 3 support is being worked on and many refactors and suggestions are potentially coming in.

Furthermore, parts of the codebase could do well with cleanups and refactoring.

If you benefit from xhtml2pdf, perhaps look at the test coverage and identify parts that are yet untouched.

About

xhtml2pdf is a html2pdf converter using the ReportLab Toolkit,

the HTML5lib and pyPdf. It supports HTML 5 and CSS 2.1 (and some of CSS 3).

It is completely written in pure Python so it is platform independent.

The main benefit of this tool that a user with Web skills like HTML and CSS

is able to generate PDF templates very quickly without learning new

technologies.

Installation

This is a typical Python library and is installed using pip:

pip install xhtml2pdf

To obtain the latest experimental version that has Python 3 support, please

use a prerelease:

pip install --pre xhtml2pdf

Requirements

Python 2.7+. Only Python 3.4+ is tested and guaranteed to work.

All additional requirements are listed in requirements.txt file and are

installed automatically using the pip install xhtml2pdf method.

Development environment

If you don't have it, install pip, the python package installer:

sudo easy_install pip

For more information about pip refer to http://www.pip-installer.org/.

I will recommend using virtualenv for development. This is great to have separate environment for

each project, keeping the dependencies for multiple projects separated:

sudo pip install virtualenv

For more information about virtualenv refer to http://www.virtualenv.org/

Create virtualenv for the project. This can be inside the project directory, but cannot be under

version control:

virtualenv --distribute xhtml2pdfenv --python=python2

Activate your virtualenv:

source xhtml2pdfenv/bin/activate

Later to deactivate use:

deactivate

Next step will be to install/upgrade dependencies from requirements.txt file:

pip install -r requirements.txt

Run tests to check your configuration:

nosetests --with-coverage

You should have a log with success status:

Ran 36 tests in 0.322s

OK

Python integration

Some simple demos of how to integrate xhtml2pdf into

a Python program may be found here: test/simple.py

Running tests

Two different test suites are available to assert xhtml2pdf works reliably:

Unit tests. The unit testing framework is currently minimal, but is being

improved on a daily basis (contributions welcome). They should run in the

expected way for Python's unittest module, i.e.:

nosetests --with-coverage (or your personal favorite)

Functional tests. Thanks to mawe42's super cool work, a full functional

test suite lives in testrender/.

Contact

History

This are the major milestones and the maintainers of the project:

2000-2007, commercial project, spirito.de, written by Dirk Holtwich

2007-2010 Dirk Holtwich (project named "Pisa", project released as GPL)

2010-2012 Dirk Holtwick (project named "xhtml2pdf", changed license to Apache)

2012-2015 Chris Glass (@chrisglass)

2015-2016 Benjamin Bach (@benjaoming)

2016-Current Sam Spencer (@LegoStormtroopr)

For more history, see the CHANGELOG.

License

Copyright 2010 Dirk Holtwick, holtwick.it

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值