Конвертировать другие форматы файлов в PDF в Python

В этой статье объясняется, как конвертировать различные типы файлов в PDF с использованием Python. Она охватывает следующие темы.

Преобразовать OFD в PDF

OFD обозначает Open Fixed-layout Document (также называемый форматом Open Fixed Document). Это китайский национальный стандарт (GB/T 33190-2016) для электронных документов, представленный в качестве альтернативы PDF.

Шаги преобразования OFD в PDF на Python:

  1. Настройте параметры загрузки OFD, используя OfdLoadOptions().
  2. Загрузите документ OFD.
  3. Сохраните как PDF.
from os import path, remove
import aspose.pdf as ap
import sys

def convert_OFD_to_PDF(infile, outfile):
    load_options = ap.OfdLoadOptions()
    document = ap.Document(infile, load_options)
    document.save(outfile)

    print(infile + " converted into " + outfile)

Конвертировать LaTeX/TeX в PDF

Формат файла LaTeX — это текстовый формат файла с разметкой в производной LaTeX из семейства языков TeX, а LaTeX является производным форматом системы TeX. LaTeX (ˈleɪtæk/lay-tek или lah-tek) — это система подготовки документов и язык разметки документов. Он широко используется для коммуникации и публикации научных документов во многих областях, включая математику, физику и информатику. Он также играет ключевую роль в подготовке и публикации книг и статей, содержащих сложные многоязычные материалы, такие как корейский, японский, китайские иероглифы и арабский, включая специальные издания.

LaTeX использует программу набора TeX для форматирования своего вывода и сам написан на макроязыке TeX.

Шаги преобразования TEX в PDF на Python:

  1. Настройте параметры загрузки LaTeX, используя LatexLoadOptions().
  2. Загрузите документ LaTeX.
  3. Сохраните как PDF.
from os import path, remove
import aspose.pdf as ap
import sys

def convert_TEX_to_PDF(infile, outfile):
    load_options = ap.LatexLoadOptions()
    document = ap.Document(infile, load_options)
    document.save(outfile)

    print(infile + " converted into " + outfile)

Конвертировать EPUB в PDF

Aspose.PDF for Python via .NET позволяет вам просто конвертировать файлы EPUB в формат PDF.

EPUB (сокращение от electronic publication) — свободный и открытый стандарт электронных книг от International Digital Publishing Forum (IDPF). Файлы имеют расширение .epub. EPUB предназначен для перестраиваемого контента, что означает, что читатель EPUB может оптимизировать текст под конкретное устройство отображения.

EPUB также поддерживает контент фиксированного макета. Формат предназначен как единый формат, который издатели и компании по конвертации могут использовать внутри компании, а также для распространения и продажи. Он заменяет стандарт Open eBook. Версия EPUB 3 также одобрена Book Industry Study Group (BISG), ведущей ассоциацией книжной индустрии, занимающейся стандартизированными лучшими практиками, исследованиями, информацией и мероприятиями по упаковке контента.

Шаги конвертации EPUB в PDF на Python:

  1. Загрузите документ EPUB с помощью EpubLoadOptions().
  2. Конвертируйте EPUB в PDF.

Следующий фрагмент кода показывает, как конвертировать файлы EPUB в формат PDF с помощью Python.

from os import path, remove
import aspose.pdf as ap
import sys

def convert_EPUB_to_PDF(infile, outfile):
    load_options = ap.EpubLoadOptions()
    document = ap.Document(infile, load_options)

    document.save(outfile)
    print(infile + " converted into " + outfile)

Преобразовать Markdown в PDF

Эта функция поддерживается версией 19.6 или более новой.

Этот фрагмент кода от Aspose.PDF for Python via .NET помогает конвертировать файлы Markdown в PDF, обеспечивая более удобный обмен документами, сохранение форматирования и совместимость при печати.o

Следующий фрагмент кода показывает, как использовать эту функциональность с библиотекой Aspose.PDF:

from os import path, remove
import aspose.pdf as ap
import sys

def convert_MD_to_PDF(infile, outfile):
    load_options = ap.MdLoadOptions()
    document = ap.Document(infile, load_options)
    document.save(outfile)
    print(infile + " converted into " + outfile)

Преобразовать PCL в PDF

PCL (Printer Command Language) — язык печати Hewlett-Packard, разработанный для доступа к стандартным функциям принтера. Уровни PCL от 1 до 5e/5c являются языками, основанными на командах, использующими управляющие последовательности, которые обрабатываются и интерпретируются в порядке их получения. На уровне конечного пользователя потоки данных PCL генерируются драйвером печати. Вывод PCL также может быть легко сгенерирован пользовательскими приложениями.

Чтобы обеспечить конвертацию из PCL в PDF, Aspose.PDF имеет класс PclLoadOptions который используется для инициализации объекта LoadOptions. Позднее этот объект передаётся в качестве аргумента при инициализации объекта Document, и он помогает механизму рендеринга PDF определить входной формат исходного документа.

Следующий фрагмент кода демонстрирует процесс конвертации файла PCL в формат PDF.

Шаги конвертации PCL в PDF на Python:

  1. Параметры загрузки для PCL с помощью PclLoadOptions().
  2. Загрузите документ.
  3. Сохраните как PDF.
from os import path, remove
import aspose.pdf as ap
import sys

def convert_PCL_to_PDF(infile, outfile):
    load_options = ap.PclLoadOptions()
    load_options.supress_errors = True

    document = ap.Document(infile, load_options)
    document.save(outfile)

    print(infile + " converted into " + outfile)

Конвертировать предварительно отформатированный текст в PDF

Aspose.PDF for Python via .NET поддерживает функцию конвертации обычного текста и предварительно отформатированного текстового файла в формат PDF.

Преобразование текста в PDF означает добавление текстовых фрагментов на страницу PDF. Что касается текстовых файлов, мы имеем дело с двумя типами текста: предварительно отформатированным (например, 25 строк по 80 символов в каждой) и неотформатированным (обычный текст). В зависимости от наших потребностей мы можем контролировать это добавление самостоятельно или доверить его алгоритмам библиотеки.

Шаги конвертации ТЕКСТА в PDF в Python:

  1. Читайте входной текстовый файл построчно.
  2. Настройте моноширинный шрифт (Courier New) для согласованного выравнивания текста.
  3. Создайте новый PDF Document и добавьте первую страницу с пользовательскими отступами и настройками шрифта.
  4. Итерируйте строки текстового файла Чтобы имитировать пишущую машинку, мы используем шрифт ‘monospace_font’ размером 12.
  5. Ограничьте создание страниц до 4 страниц.
  6. Сохраните итоговый PDF по указанному пути.
from os import path, remove
import aspose.pdf as ap
import sys

def convert_TXT_to_PDF(infile, outfile):
    with open(infile, "r") as file:
        lines = file.readlines()

    monospace_font = ap.text.FontRepository.find_font("Courier New")

    document = ap.Document()
    page = document.pages.add()

    page.page_info.margin.left = 20
    page.page_info.margin.right = 10
    page.page_info.default_text_state.font = monospace_font
    page.page_info.default_text_state.font_size = 12
    count = 1
    for line in lines:
        if line != "" and line[0] == "\x0c":
            page = document.pages.add()
            page.page_info.margin.left = 20
            page.page_info.margin.right = 10
            page.page_info.default_text_state.font = monospace_font
            page.page_info.default_text_state.font_size = 12
            count = count + 1
        else:
            text = ap.text.TextFragment(line)
            page.paragraphs.add(text)

        if count == 4:
            break

    document.save(outfile)

    print(infile + " converted into " + outfile)

Конвертировать PostScript в PDF

В этом примере показано, как преобразовать файл PostScript в PDF‑документ с использованием Aspose.PDF for Python via .NET.

  1. Создайте экземпляр ‘PsLoadOptions’ для корректного интерпретирования PS‑файла.
  2. Загрузите файл ‘PostScript’ в объект Document, используя параметры загрузки.
  3. Сохраните документ в формате PDF в желаемый путь вывода.
from os import path, remove
import aspose.pdf as ap
import sys

def convert_PS_to_PDF(infile, outfile):
    load_options = ap.PsLoadOptions()

    document = ap.Document(infile, load_options)
    document.save(outfile)

    print(infile + " converted into " + outfile)

Конвертировать XPS в PDF

Aspose.PDF for Python via .NET поддерживает функцию конвертирования XPS файлы в формат PDF. Проверьте эту статью, чтобы решить ваши задачи.

Тип файла XPS в первую очередь связан со спецификацией XML Paper Specification, разработанной корпорацией Microsoft. Спецификация XML Paper Specification (XPS), ранее имевшая кодовое название Metro и включающая в себя маркетинговую концепцию Next Generation Print Path (NGPP), является инициативой Microsoft по интеграции создания и просмотра документов в операционную систему Windows.

Следующий фрагмент кода показывает процесс преобразования файла XPS в формат PDF с использованием Python.

from os import path, remove
import aspose.pdf as ap
import sys

def convert_XPS_to_PDF(infile, outfile):
    load_options = ap.XpsLoadOptions()
    document = ap.Document(infile, load_options)
    document.save(outfile)

    print(infile + " converted into " + outfile)

Преобразовать XSL-FO в PDF

Следующий фрагмент кода можно использовать для преобразования XSLFO в формат PDF с помощью Aspose.PDF for Python via .NET:

from os import path, remove
import aspose.pdf as ap
import sys

def convert_XSLFO_to_PDF(xsltfile, xmlfile, outfile):
    load_options = ap.XslFoLoadOptions(xsltfile)
    load_options.parsing_errors_handling_type = (
        ap.XslFoLoadOptions.ParsingErrorsHandlingTypes.THROW_EXCEPTION_IMMEDIATELY
    )
    document = ap.Document(xmlfile, load_options)
    document.save(outfile)

    print(xmlfile + " converted into " + outfile)

Преобразовать XML с помощью XSLT в PDF

Этот пример демонстрирует, как преобразовать файл XML в PDF, сначала преобразовав его в HTML с помощью шаблона XSLT, а затем загрузив HTML в Aspose.PDF.

  1. Создайте экземпляр ‘HtmlLoadOptions’ для настройки конвертации HTML в PDF.
  2. Загрузите преобразованный HTML‑файл в объект Aspose.PDF Document.
  3. Сохраните документ в формате PDF по указанному пути вывода.
  4. Удалите временный файл HTML после успешного преобразования.
from os import path, remove
import aspose.pdf as ap
import sys

def convert_XSLFO_to_PDF(xsltfile, xmlfile, outfile):
    load_options = ap.XslFoLoadOptions(xsltfile)
    load_options.parsing_errors_handling_type = (
        ap.XslFoLoadOptions.ParsingErrorsHandlingTypes.THROW_EXCEPTION_IMMEDIATELY
    )
    document = ap.Document(xmlfile, load_options)
    document.save(outfile)

    print(xmlfile + " converted into " + outfile)

Связанные преобразования