diff --git a/docxcompose/command.py b/docxcompose/command.py index 78f4a9a..b8b3d08 100644 --- a/docxcompose/command.py +++ b/docxcompose/command.py @@ -18,6 +18,8 @@ def setup_parser(): parser.add_argument('-o', '--output-document', dest='ouput_document', default='composed.docx', help='path to the output file', metavar='file') + parser.add_argument('-pb','--pagebreak',help='add a page break before each document appended to master', + action='store_true') return parser @@ -39,7 +41,7 @@ def parse_args(parser, args): def compose_files(parser, parsed_args): composer = Composer(Document(parsed_args.master)) for slave_path in parsed_args.files: - composer.append(Document(slave_path)) + composer.append(Document(slave_path), True, parsed_args.pagebreak) composer.save(parsed_args.ouput_document) parser.exit(message='successfully composed file at {}\n'.format( diff --git a/docxcompose/composer.py b/docxcompose/composer.py index 42aef6a..52c3f17 100644 --- a/docxcompose/composer.py +++ b/docxcompose/composer.py @@ -45,7 +45,11 @@ def reset_reference_mapping(self): self.anum_id_mapping = {} self._numbering_restarted = set() - def append(self, doc, remove_property_fields=True): + def append(self, doc, remove_property_fields=True, add_page_break_before=False): + # add page break before append doc if needed + if add_page_break_before: + self.doc.add_page_break() + """Append the given document.""" index = self.append_index() self.insert(index, doc, remove_property_fields=remove_property_fields)