From 61c8924663814b80e82a673e379e1401cf5cc968 Mon Sep 17 00:00:00 2001 From: Eric Lapouyade Date: Sun, 15 Aug 2021 15:50:45 +0200 Subject: [PATCH] V0.12.0 --- CHANGES.rst | 11 +++++++- docs/index.rst | 11 +++++++- docxtpl/__init__.py | 3 +- docxtpl/docx_patch.py | 26 ------------------ docxtpl/subdoc.py | 2 -- docxtpl/template.py | 12 +++++++- tests/header_footer_inline_image.py | 7 ++++- .../header_footer_inline_image_tpl.docx | Bin 16326 -> 20775 bytes tests/templates/merge_docx_master_tpl.docx | Bin 512191 -> 511778 bytes 9 files changed, 38 insertions(+), 34 deletions(-) delete mode 100644 docxtpl/docx_patch.py diff --git a/CHANGES.rst b/CHANGES.rst index a0706c7..8e69e64 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,8 +1,17 @@ -0.12.0 (2021-07-31) +0.12.0 (2021-08-15) ------------------- - Code has be split into many files for better readability - Use docxcomposer to attach parts when a docx file is given to create a subdoc Images, styles etc... must now be taken in account in subdocs +- Some internal XML IDs are now renumbered to avoid collision, thus images are not randomly disapearing anymore. +- fix #372 +- fix #374 +- fix #375 +- fix #369 +- fix #368 +- fix #347 +- fix #181 +- fix #61 0.11.5 (2021-05-09) ------------------- diff --git a/docs/index.rst b/docs/index.rst index e8bea61..d41afcd 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -229,7 +229,16 @@ Sub-documents ------------- A template variable can contain a complex and built from scratch with python-docx word document. -To do so, get first a sub-document object from template object and use it as a python-docx document object, see example in `tests/subdoc.py`. +To do so, get first a sub-document object from template object and use it as a python-docx document object, +see example in `tests/subdoc.py`. + +Since docxtpl V0.12.0, it is now possible to merge an exsting .docx as a subdoc, just specify its path when +calling method `new_subdoc()` :: + + tpl = DocxTemplate('templates/merge_docx_master_tpl.docx') + sd = tpl.new_subdoc('templates/merge_docx_subdoc.docx') + +see `tests/merge_docx.py` for full code Escaping, newline, new paragraph, Listing ----------------------------------------- diff --git a/docxtpl/__init__.py b/docxtpl/__init__.py index c202d36..280de22 100644 --- a/docxtpl/__init__.py +++ b/docxtpl/__init__.py @@ -4,7 +4,7 @@ Created : 2015-03-12 @author: Eric Lapouyade """ -__version__ = '0.12.0.dev1' +__version__ = '0.12.0' # flake8: noqa from .inline_image import InlineImage @@ -12,4 +12,3 @@ from .listing import Listing from .richtext import RichText, R from .subdoc import Subdoc from .template import DocxTemplate -import docxtpl.docx_patch \ No newline at end of file diff --git a/docxtpl/docx_patch.py b/docxtpl/docx_patch.py deleted file mode 100644 index 092a885..0000000 --- a/docxtpl/docx_patch.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created : 2021-08-14 - -@author: Eric Lapouyade -""" - - -from docx.parts.story import BaseStoryPart - - -class DocxTplBaseStoryPart: - next_id_cptr = 0 - - @property - def docx_next_id(self): - id_str_lst = self._element.xpath('//@id') - used_ids = [int(id_str) for id_str in id_str_lst if id_str.isdigit()] - if not used_ids: - DocxTplBaseStoryPart.next_id_cptr += 1 # global counter - return DocxTplBaseStoryPart.next_id_cptr - return max(used_ids) + 1 - - -# Patch python_docx next_id() to have no collision on default value -BaseStoryPart.next_id = DocxTplBaseStoryPart.docx_next_id diff --git a/docxtpl/subdoc.py b/docxtpl/subdoc.py index ecc6fc4..84a1777 100644 --- a/docxtpl/subdoc.py +++ b/docxtpl/subdoc.py @@ -4,7 +4,6 @@ Created : 2021-07-30 @author: Eric Lapouyade """ -from copy import deepcopy from docx import Document from docx.oxml import CT_SectPr @@ -34,7 +33,6 @@ class SubdocComposer(Composer): for element in doc.element.body: if isinstance(element, CT_SectPr): continue - # element = deepcopy(element) self.add_referenced_parts(doc.part, self.doc.part, element) self.add_styles(doc, element) self.add_numberings(doc, element) diff --git a/docxtpl/template.py b/docxtpl/template.py index 693fd2b..8be23ea 100644 --- a/docxtpl/template.py +++ b/docxtpl/template.py @@ -5,7 +5,6 @@ Created : 2015-03-12 @author: Eric Lapouyade """ - from .subdoc import Subdoc import functools import io @@ -43,6 +42,7 @@ class DocxTemplate(object): self.pics_to_replace = {} self.pic_map = {} self.current_rendering_part = None + self.docx_ids_index = 1000 def __getattr__(self, name): return getattr(self.docx, name) @@ -319,6 +319,10 @@ class DocxTemplate(object): # fix tables if needed tree = self.fix_tables(xml_src) + # fix docPr ID's + self.fix_docpr_ids(tree) + + # Replace body xml tree self.map_tree(tree) # Headers @@ -421,6 +425,12 @@ class DocxTemplate(object): return tree + def fix_docpr_ids(self, tree): + # some Ids may have some collisions : so renumbering all of them : + for elt in tree.xpath('//wp:docPr', namespaces=docx.oxml.ns.nsmap): + self.docx_ids_index += 1 + elt.attrib['id'] = str(self.docx_ids_index) + def new_subdoc(self, docpath=None): return Subdoc(self, docpath) diff --git a/tests/header_footer_inline_image.py b/tests/header_footer_inline_image.py index b2303d0..81fa0eb 100644 --- a/tests/header_footer_inline_image.py +++ b/tests/header_footer_inline_image.py @@ -13,7 +13,12 @@ from docx.shared import Mm tpl = DocxTemplate('templates/header_footer_inline_image_tpl.docx') context = { - 'inline_image': InlineImage(tpl, 'templates/django.png', height=Mm(10)) + 'inline_image': InlineImage(tpl, 'templates/django.png', height=Mm(10)), + 'images': [ + InlineImage(tpl, 'templates/python.png', height=Mm(10)), + InlineImage(tpl, 'templates/python.png', height=Mm(10)), + InlineImage(tpl, 'templates/python.png', height=Mm(10)) + ] } tpl.render(context) tpl.save('output/header_footer_inline_image.docx') diff --git a/tests/templates/header_footer_inline_image_tpl.docx b/tests/templates/header_footer_inline_image_tpl.docx index 87d0cb44745d98659c3bb3c2daa1c57da126da2a..a4b48d579e5f78582ca6410cc4b89c39e466feec 100644 GIT binary patch delta 14912 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 O5&;PU5+(P$@&5pqdx}T^ delta 10572 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 diff --git a/tests/templates/merge_docx_master_tpl.docx b/tests/templates/merge_docx_master_tpl.docx index a114fff65fe1bba0094ae61b1e9bca49b84f98b9..9ce2e3a722614ada90fb3a27e42e85548df01bd8 100644 GIT binary patch delta 9029 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 T{G}Y{bzOc<9KRn1y`KFK@(1c& delta 9381 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 PeIxw0y^S6QzA^s?cPf{5