Merging upstream version 0.9.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
768d0cd35e
commit
91745cfec8
6 changed files with 215 additions and 12 deletions
|
@ -179,3 +179,87 @@ Display text
|
|||
|
||||
with open('document.pdf', 'wb') as f:
|
||||
document.write(f)
|
||||
|
||||
|
||||
Add metadata
|
||||
------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import datetime
|
||||
|
||||
import pydyf
|
||||
|
||||
document = pydyf.PDF()
|
||||
document.info['Author'] = pydyf.String('Jane Doe')
|
||||
document.info['Creator'] = pydyf.String('pydyf')
|
||||
document.info['Keywords'] = pydyf.String('some keywords')
|
||||
document.info['Producer'] = pydyf.String('The producer')
|
||||
document.info['Subject'] = pydyf.String('An example PDF')
|
||||
document.info['Title'] = pydyf.String('A PDF containing metadata')
|
||||
now = datetime.datetime.now()
|
||||
document.info['CreationDate'] = pydyf.String(now.strftime('D:%Y%m%d%H%M%S'))
|
||||
|
||||
document.add_page(
|
||||
pydyf.Dictionary(
|
||||
{
|
||||
'Type': '/Page',
|
||||
'Parent': document.pages.reference,
|
||||
'MediaBox': pydyf.Array([0, 0, 200, 200]),
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
# 550 bytes PDF
|
||||
with open('metadata.pdf', 'wb') as f:
|
||||
document.write(f)
|
||||
|
||||
|
||||
Display inline QR-code image
|
||||
----------------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydyf
|
||||
import qrcode
|
||||
|
||||
# Create a QR code image
|
||||
image = qrcode.make('Some data here')
|
||||
raw_data = image.tobytes()
|
||||
width = image.size[0]
|
||||
height = image.size[1]
|
||||
|
||||
document = pydyf.PDF()
|
||||
stream = pydyf.Stream(compress=True)
|
||||
stream.push_state()
|
||||
x = 0
|
||||
y = 0
|
||||
stream.transform(width, 0, 0, height, x, y)
|
||||
# Add the 1-bit grayscale image inline in the PDF
|
||||
stream.inline_image(width, height, 'Gray', 1, raw_data)
|
||||
stream.pop_state()
|
||||
document.add_object(stream)
|
||||
|
||||
# Put the image in the resources of the PDF
|
||||
document.add_page(
|
||||
pydyf.Dictionary(
|
||||
{
|
||||
'Type': '/Page',
|
||||
'Parent': document.pages.reference,
|
||||
'MediaBox': pydyf.Array([0, 0, 400, 400]),
|
||||
'Resources': pydyf.Dictionary(
|
||||
{
|
||||
'ProcSet': pydyf.Array(
|
||||
['/PDF', '/ImageB', '/ImageC', '/ImageI']
|
||||
),
|
||||
}
|
||||
),
|
||||
'Contents': stream.reference,
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
# 909 bytes PDF
|
||||
with open('qrcode.pdf', 'wb') as f:
|
||||
document.write(f, compress=True)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue