mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
PDF Output: Add creation date
This commit is contained in:
parent
1255528e8c
commit
ba9fbaea64
@ -9,6 +9,7 @@ __docformat__ = 'restructuredtext en'
|
|||||||
|
|
||||||
import codecs, zlib
|
import codecs, zlib
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
from calibre.constants import plugins, ispy3
|
from calibre.constants import plugins, ispy3
|
||||||
|
|
||||||
@ -74,6 +75,11 @@ def serialize(o, stream):
|
|||||||
o.pdf_serialize(stream)
|
o.pdf_serialize(stream)
|
||||||
elif o is None:
|
elif o is None:
|
||||||
stream.write_raw(b'null')
|
stream.write_raw(b'null')
|
||||||
|
elif isinstance(o, datetime):
|
||||||
|
val = o.strftime("D:%Y%m%d%H%M%%02d%z")%min(59, o.second)
|
||||||
|
if datetime.tzinfo is not None:
|
||||||
|
val = "(%s'%s')"%(val[:-2], val[-2:])
|
||||||
|
stream.write(val.encode('ascii'))
|
||||||
else:
|
else:
|
||||||
raise ValueError('Unknown object: %r'%o)
|
raise ValueError('Unknown object: %r'%o)
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ from calibre.ebooks.pdf.render.common import (
|
|||||||
fmtnum)
|
fmtnum)
|
||||||
from calibre.ebooks.pdf.render.fonts import FontManager
|
from calibre.ebooks.pdf.render.fonts import FontManager
|
||||||
from calibre.ebooks.pdf.render.links import Links
|
from calibre.ebooks.pdf.render.links import Links
|
||||||
|
from calibre.utils.date import utcnow
|
||||||
|
|
||||||
PDFVER = b'%PDF-1.3'
|
PDFVER = b'%PDF-1.3'
|
||||||
|
|
||||||
@ -259,8 +260,11 @@ class PDFStream(object):
|
|||||||
self.objects.add(PageTree(page_size))
|
self.objects.add(PageTree(page_size))
|
||||||
self.objects.add(Catalog(self.page_tree))
|
self.objects.add(Catalog(self.page_tree))
|
||||||
self.current_page = Page(self.page_tree, compress=self.compress)
|
self.current_page = Page(self.page_tree, compress=self.compress)
|
||||||
self.info = Dictionary({'Creator':String(creator),
|
self.info = Dictionary({
|
||||||
'Producer':String(creator)})
|
'Creator':String(creator),
|
||||||
|
'Producer':String(creator),
|
||||||
|
'CreationDate': utcnow(),
|
||||||
|
})
|
||||||
self.stroke_opacities, self.fill_opacities = {}, {}
|
self.stroke_opacities, self.fill_opacities = {}, {}
|
||||||
self.font_manager = FontManager(self.objects, self.compress)
|
self.font_manager = FontManager(self.objects, self.compress)
|
||||||
self.image_cache = {}
|
self.image_cache = {}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user