Skip to main content

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)
```


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdfshift-1.0.0b1-py2.py3-none-any.whl (3.4 kB view details)

Uploaded Python 2Python 3

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

Hashes for pdfshift-1.0.0b1.tar.gz
Algorithm Hash digest
SHA256 f5efde9150893583f43b80639de5fc0b2bd6e2f91923ff3b3f4ef5b8d67b52fe
MD5 505e51960c08eac3956479ff626e5337
BLAKE2b-256 f365d6ca2bc8a73ca025dd8d724676e16b95339a756aeb1f75909f1ac75207ae

See more details on using hashes here.

File details

Details for the file pdfshift-1.0.0b1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pdfshift-1.0.0b1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 699ddb0c25eff7f59b353aec4e01dae83f6b41eb1ce0320472ce567b0b8f64ea
MD5 eb87d2e45e8763266a9697fd4f01167c
BLAKE2b-256 e63033c379cd329cd5d74e4722691566f32e129501c116db9672ce570cdb8050

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page