Проблема кроссплатформенной совместимости: преобразование DOCX в PDF без Microsoft Word в Linux [закрыто]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Проблема кроссплатформенной совместимости: преобразование DOCX в PDF без Microsoft Word в Linux [закрыто]

Сообщение Anonymous »


У меня есть сценарий 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»