Проблема кроссплатформенной совместимости: преобразование DOCX в PDF без Microsoft Word в Linux [закрыто] ⇐ Linux
Проблема кроссплатформенной совместимости: преобразование DOCX в PDF без Microsoft Word в Linux [закрыто]
У меня есть сценарий Python, который преобразует файлы DOCX в PDF с помощью библиотеки «docx2pdf», но он использует Microsoft Word, что делает его несовместимым с Linux. Я ищу кроссплатформенное решение для преобразования файлов DOCX в PDF как в Windows, так и в Linux (или, по крайней мере, только в Linux).
импортировать ОС импортировать JSON импортировать пиморфию2 импортировать клик из docx2pdf импортировать конвертировать из docxtpl импортировать DocxTemplate морф = pymorphy2.MorphAnalyzer() защита render_court_name(контекст): имя_суда = контекст['имя_суда'] первое_слово = имя_суда.split()[0] проанализировано = morph.parse(первое_слово)[0] first_word_gent = parsed.inflect({'gent'}).word rest_words = ' '.join(court_name.split()[1:]) вернуть first_word_gent + ' ' + rest_words def render_debtor_name(контекст, регистр): имя_должника = контекст['имя_должника'] name_parts = имя_должника.split() Last_name = morph.parse(name_parts[0])[0].inflect({case}).word.title() first_name = morph.parse(name_parts[1])[0].inflect({case}).word.title() middle_name = morph.parse(name_parts[2])[0].inflect({case}).word.title() вернуть фамилию + ' ' + первое_имя + ' ' + отчество # @click.command() @click.argument('путь_шаблона') @click.argument('json_data') @click.argument('output_path') def main(путь_шаблона, json_data, путь_вывода): данные = json.loads(json_data) контекст = { 'debtor_name_genitive': render_debtor_name(data, 'gent'), 'debtor_name_instrumental': render_debtor_name(data, 'ablt') } context.update(данные) context['court_name'] = render_court_name(контекст) документ = DocxTemplate(путь_шаблона) doc.render(контекст) имя_файла_шаблона = os.path.basename(путь_шаблона) имя_выводной_базы = os.path.splitext(имя_файла_шаблона)[0] выходной_путь_дока = os.path.join(выходной_путь, выходное_базовое_имя + '.docx') doc.save(output_doc_path) pdf_path = os.path.join(output_path, output_base_name + '.pdf') конвертировать (output_doc_path, pdf_path) print('Путь к файлу pdf ->', pdf_path) если __name__ == '__main__': основной() NotImplementedError: docx2pdf не реализован для Linux, поскольку для него требуется установка Microsoft Word
У меня есть сценарий Python, который преобразует файлы DOCX в PDF с помощью библиотеки «docx2pdf», но он использует Microsoft Word, что делает его несовместимым с Linux. Я ищу кроссплатформенное решение для преобразования файлов DOCX в PDF как в Windows, так и в Linux (или, по крайней мере, только в Linux).
импортировать ОС импортировать JSON импортировать пиморфию2 импортировать клик из docx2pdf импортировать конвертировать из docxtpl импортировать DocxTemplate морф = pymorphy2.MorphAnalyzer() защита render_court_name(контекст): имя_суда = контекст['имя_суда'] первое_слово = имя_суда.split()[0] проанализировано = morph.parse(первое_слово)[0] first_word_gent = parsed.inflect({'gent'}).word rest_words = ' '.join(court_name.split()[1:]) вернуть first_word_gent + ' ' + rest_words def render_debtor_name(контекст, регистр): имя_должника = контекст['имя_должника'] name_parts = имя_должника.split() Last_name = morph.parse(name_parts[0])[0].inflect({case}).word.title() first_name = morph.parse(name_parts[1])[0].inflect({case}).word.title() middle_name = morph.parse(name_parts[2])[0].inflect({case}).word.title() вернуть фамилию + ' ' + первое_имя + ' ' + отчество # @click.command() @click.argument('путь_шаблона') @click.argument('json_data') @click.argument('output_path') def main(путь_шаблона, json_data, путь_вывода): данные = json.loads(json_data) контекст = { 'debtor_name_genitive': render_debtor_name(data, 'gent'), 'debtor_name_instrumental': render_debtor_name(data, 'ablt') } context.update(данные) context['court_name'] = render_court_name(контекст) документ = DocxTemplate(путь_шаблона) doc.render(контекст) имя_файла_шаблона = os.path.basename(путь_шаблона) имя_выводной_базы = os.path.splitext(имя_файла_шаблона)[0] выходной_путь_дока = os.path.join(выходной_путь, выходное_базовое_имя + '.docx') doc.save(output_doc_path) pdf_path = os.path.join(output_path, output_base_name + '.pdf') конвертировать (output_doc_path, pdf_path) print('Путь к файлу pdf ->', pdf_path) если __name__ == '__main__': основной() NotImplementedError: docx2pdf не реализован для Linux, поскольку для него требуется установка Microsoft Word
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Файл DOCX, сгенерированный JAX-RS API, показывает ошибку совместимости в Word
Anonymous » » в форуме JAVA - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Файл DOCX, сгенерированный JAX-RS API, показывает ошибку совместимости в Word
Anonymous » » в форуме JAVA - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Преобразование файла Word (.docx и doc) в .pdf с использованием С# не работает
Anonymous » » в форуме C# - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-