Convert HTML documents to PDF using the PDFShift.io API.
Reason this release was yanked:
We recommend directly using a network library such as Requests.
Project description
PDFShift Python Package
=======================
This Python package provides a simplified way to interact with the [PDFShift](https://pdfshift.io) API.
## Documentation
See the full documentation on [PDFShift's documentation](https://pdfshift.io/documentation).
## Installation
You should not require this code directly. Instead, just run:
pip install --upgrade pdfshift
or
easy_install --upgrade pdfshift
### Requirements
* Python 2.6+
* [Requests](http://docs.python-requests.org/en/master/)
## Usage
This library needs to be configured with your `api_key` received when creating an account.
Setting it is easy as:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
```
### Basic example
#### With an URL
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert('https://www.example.com')
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
#### With inline HTML data:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
document = open('invoice.html', 'r')
document_content = document.read()
document.close()
binary_file = pdfshift.convert(document_content)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Custom CSS
#### Loading CSS from an URL:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
css="https://www.example.com/public/css/print.css"
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
#### Loading CSS from a string:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
css="a {text-decoration: underline; color: blue}"
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Custom HTTP Headers
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://httpbin.org/headers',
headers={
'X-Original-Header': 'Awesome value',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Accessing secured pages
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert('https://httpbin.org/basic-auth/user/passwd', auth=('user', 'passwd'))
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Using cookies
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://httpbin.org/cookies',
cookies=[
{'name': 'session', 'value': '4cb496a8-a3eb-4a7e-a704-f993cb6a4dac'}
]
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Adding Watermark (Oh hi Mark!)
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
watermark={
'source': 'https://pdfshift.io/static/static/img/logo.png',
'offset_x': 50,
'offset_y': '100px',
'rotate': 45,
'background': true
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Custom Header (or Footer)
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
footer={
'source': '<div>Page {{page}} of {{total}}</div>',
'spacing': '50px'
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Protecting the generated PDF
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
protection={
'encrypt': 128,
'user_password': 'user',
'owner_password': 'owner',
'no_print': True
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
=======================
This Python package provides a simplified way to interact with the [PDFShift](https://pdfshift.io) API.
## Documentation
See the full documentation on [PDFShift's documentation](https://pdfshift.io/documentation).
## Installation
You should not require this code directly. Instead, just run:
pip install --upgrade pdfshift
or
easy_install --upgrade pdfshift
### Requirements
* Python 2.6+
* [Requests](http://docs.python-requests.org/en/master/)
## Usage
This library needs to be configured with your `api_key` received when creating an account.
Setting it is easy as:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
```
### Basic example
#### With an URL
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert('https://www.example.com')
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
#### With inline HTML data:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
document = open('invoice.html', 'r')
document_content = document.read()
document.close()
binary_file = pdfshift.convert(document_content)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Custom CSS
#### Loading CSS from an URL:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
css="https://www.example.com/public/css/print.css"
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
#### Loading CSS from a string:
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
css="a {text-decoration: underline; color: blue}"
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Custom HTTP Headers
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://httpbin.org/headers',
headers={
'X-Original-Header': 'Awesome value',
'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0'
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Accessing secured pages
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert('https://httpbin.org/basic-auth/user/passwd', auth=('user', 'passwd'))
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Using cookies
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://httpbin.org/cookies',
cookies=[
{'name': 'session', 'value': '4cb496a8-a3eb-4a7e-a704-f993cb6a4dac'}
]
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Adding Watermark (Oh hi Mark!)
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
watermark={
'source': 'https://pdfshift.io/static/static/img/logo.png',
'offset_x': 50,
'offset_y': '100px',
'rotate': 45,
'background': true
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Custom Header (or Footer)
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
footer={
'source': '<div>Page {{page}} of {{total}}</div>',
'spacing': '50px'
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
### Protecting the generated PDF
```python
import pdfshift
pdfshift.api_key = '120d8e8a86d2....................'
binary_file = pdfshift.convert(
'https://www.example.com',
protection={
'encrypt': 128,
'user_password': 'user',
'owner_password': 'owner',
'no_print': True
}
)
with open('result.pdf', 'wb') as output:
output.write(binary_file)
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pdfshift-1.0.0b1.tar.gz
(3.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pdfshift-1.0.0b1.tar.gz.
File metadata
- Download URL: pdfshift-1.0.0b1.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5efde9150893583f43b80639de5fc0b2bd6e2f91923ff3b3f4ef5b8d67b52fe
|
|
| MD5 |
505e51960c08eac3956479ff626e5337
|
|
| BLAKE2b-256 |
f365d6ca2bc8a73ca025dd8d724676e16b95339a756aeb1f75909f1ac75207ae
|
File details
Details for the file pdfshift-1.0.0b1-py2.py3-none-any.whl.
File metadata
- Download URL: pdfshift-1.0.0b1-py2.py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
699ddb0c25eff7f59b353aec4e01dae83f6b41eb1ce0320472ce567b0b8f64ea
|
|
| MD5 |
eb87d2e45e8763266a9697fd4f01167c
|
|
| BLAKE2b-256 |
e63033c379cd329cd5d74e4722691566f32e129501c116db9672ce570cdb8050
|