Категория

Конвертировать Python в PDF: Полное руководство по экспорту файлов .py

2025-12-02 06:14:03 zaki zou

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

Скрипты Python обычно используются в рабочих процессах разработки, конвейерах документации, учебных курсах и академической среде. Преобразование файлов Python (.py) в PDF обеспечивает единообразное форматирование, улучшает читаемость при распространении и предоставляет нередактируемую версию вашего кода, подходящую для архивирования, печати или публикации.

В этом руководстве объясняется каждый практический метод преобразования кода Python в PDF, включая онлайн-инструменты, рабочие процессы печати в PDF в IDE, автоматизированные преобразования с помощью Python с подсветкой синтаксиса или без нее, а также решения для пакетной обработки. Каждый метод включает подробные шаги, технические примечания и руководство по установке, где это необходимо.

Обзор:


1. Онлайн-конвертеры Python в PDF

Онлайн-инструменты предлагают самый быстрый способ преобразовать файл .py в PDF без настройки программного обеспечения. Они удобны для пользователей, которым просто нужна читаемая PDF-версия своего кода.

Как работают онлайн-конвертеры

После загрузки файла .py сервис обрабатывает содержимое и выводит PDF-файл, сохраняющий отступы кода и базовое форматирование. Некоторые платформы предоставляют дополнительные настройки, такие как размер шрифта, поля страницы и нумерация строк.

Пример: Преобразование кода Python в PDF с помощью CodeConvert AI

Шаги

  1. Перейдите на CodeConvert AI (платформа для преобразования кода в браузере).

  2. Загрузите свой файл .py или вставьте код в редактор.

  3. Выберите Создать PDF, чтобы сгенерировать PDF-документ.

    Вывод Python в PDF в CodeConvert AI

  4. Распечатайте документ как PDF-файл во всплывающем меню.

    Печать документа в формате PDF

Преимущества

  • Не требуется установка или настройка.
  • Работает на разных операционных системах и устройствах.
  • Подходит для быстрых преобразований и небольших потребностей.

Ограничения

  • Избегайте загрузки конфиденциальных или проприетарных скриптов.
  • Параметры форматирования зависят от сервиса.
  • Качество подсветки синтаксиса варьируется на разных платформах.

2. Преобразование Python в PDF через «Печать в PDF» в IDE

Большинство редакторов для разработки, включая VS Code, PyCharm, Sublime Text и Notepad++, поддерживают экспорт файлов в PDF через подсистему печати операционной системы.

Как это работает

При печати IDE отображает код, используя свой внутренний движок подсветки синтаксиса, и передает стилизованный вывод в ОС, которая затем генерирует PDF.

Шаги (пример для PyCharm)

  1. Откройте свой файл Python.

  2. Перейдите в Файл → Печать.

    Печать кода Python в PyCharm

  3. При необходимости настройте параметры страницы (поля, ориентация, масштабирование).

    Настройка печати в PyCharm

  4. Выберите Microsoft Print to PDF в качестве принтера и сохраните PDF-документ.

    Печать Python в PDF с помощью Microsoft Print to PDF

Преимущества

  • Чистое, читаемое форматирование.
  • Подсветка синтаксиса обычно сохраняется.
  • Не требуются дополнительные библиотеки.

Ограничения

  • Минимальный контроль над переносом строк или макетом.
  • Не предназначено для пакетных рабочих процессов.
  • Качество вывода зависит от темы IDE.

3. Преобразование PY в PDF на основе скриптов Python (автоматизированное и настраиваемое)

Инструменты на основе Python предоставляют гибкие способы преобразования файлов .py в PDF, поддерживая автоматизированные конвейеры, единообразное форматирование и дополнительную подсветку синтаксиса.
Перед использованием следующих методов установите необходимые компоненты.

Необходимые пакеты

Free Spire.Doc for Python – обрабатывает экспорт в PDF

pip install spire.doc.free

Pygments – генерирует HTML с подсветкой синтаксиса

pip install pygments

3.1 Метод А: Прямое преобразование текста в PDF (без подсветки синтаксиса)

Этот метод считывает файл .py как обычный текст и записывает его в PDF. Он подходит для простого экспорта, снимков документации и внутреннего архивирования, которые могут не требовать подсветки синтаксиса.

Пример кода

from spire.doc import Document, FileFormat, BreakType, Color, LineSpacingRule, LineNumberingRestartMode, TextRange

# Прочитать код Python как строку
with open("Python.py", "r", encoding="utf-8") as f:
    python_code = f.read()

# Создать новый документ
doc = Document()

# Добавить код Python в документ
section = doc.AddSection()
paragraph = section.AddParagraph()
for line_number, line in enumerate(python_code.split("\n")):
    tr = paragraph.AppendText(line)
    # Установить формат символов
    tr.CharacterFormat.FontName = "Consolas"
    tr.CharacterFormat.FontSize = 10.0
    if line_number < len(python_code.split("\n")) - 1:
        paragraph.AppendBreak(BreakType.LineBreak)

# Дополнительные настройки
# Установить цвет фона и межстрочный интервал
paragraph.Format.BackColor = Color.get_LightGray()
paragraph.Format.LineSpacingRule = LineSpacingRule.Multiple
paragraph.Format.LineSpacing = 12.0 # 12pt означает одинарный интервал
# Установить нумерацию строк
section.PageSetup.LineNumberingStartValue = 1
section.PageSetup.LineNumberingStep = 1
section.PageSetup.LineNumberingRestartMode = LineNumberingRestartMode.RestartPage
section.PageSetup.LineNumberingDistanceFromText = 10.0

# Сохранить документ в файл PDF
doc.SaveToFile("output/Python-PDF.docx", FileFormat.Docx)
doc.SaveToFile("output/Python-PDF.pdf", FileFormat.PDF)

Как это работает

Этот метод вставляет код Python построчно с помощью AppendText(), добавляет разрывы строк с помощью AppendBreak() и экспортирует окончательный документ через SaveToFile().

Ниже показан результат применения этого метода:

Преобразование Python в PDF с помощью Spire.Doc

Для получения более подробной информации о настройке и вставке текста в PDF-документ см. наше руководство по добавлению текста в PDF-документы с помощью Python.

3.2 Метод Б: PDF с подсветкой синтаксиса (HTML → PDF)

При создании учебных пособий или читаемой документации подсветка синтаксиса помогает различать ключевые слова и улучшает общую ясность. Этот метод использует Pygments для генерации HTML со встроенными стилями, а затем вставляет HTML в документ.

Пример кода

from spire.doc import Document, FileFormat, ParagraphStyle, IParagraphStyle
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

def py_to_inline_html(py_file_path):
    with open(py_file_path, "r", encoding="utf-8") as f:
        code = f.read()

    formatter = HtmlFormatter(noclasses=True, linenostart=1, linenos='inline') # Номера строк необязательны
    inline_html = highlight(code, PythonLexer(), formatter)
    return inline_html

html_result = py_to_inline_html("Python.py")

doc = Document()
section = doc.AddSection()
paragraph = section.AddParagraph()

# Вставить отформатированный HTML
paragraph.AppendHTML(html_result)

doc.SaveToFile("output/Python-PDF-Highlighted.pdf", FileFormat.PDF)

Как это работает

Pygments сначала форматирует код как HTML на основе встроенного CSS. HTML добавляется через AppendHTML(), а готовый документ экспортируется с помощью SaveToFile().

Ниже приведен визуальный результат, сгенерированный этим методом стилизованного HTML:

Преобразование Python в PDF с форматированием с использованием Pygments и Spire.Doc

3.3 Пакетное преобразование (рабочие процессы «Папка в PDF»)

Для одновременного преобразования нескольких файлов .py вам понадобится всего лишь короткий цикл для обработки всех файлов в каталоге и сохранения их в формате PDF.

Пример кода (минимальная пакетная обработка)

import os

input_folder = "scripts"
output_folder = "pdf-output"
os.makedirs(output_folder, exist_ok=True)

for file in os.listdir(input_folder):
    if file.endswith(".py"):
        py_path = os.path.join(input_folder, file)
        pdf_path = os.path.join(output_folder, file.replace(".py", ".pdf"))

        # Вызовите здесь выбранную вами функцию преобразования
        convert_py_to_pdf(py_path, pdf_path)

Примечания

  • Повторно использует функцию преобразования, определенную ранее.
  • Автоматически сохраняет каждый файл .py как PDF с тем же именем файла.
  • Работает как для методов с обычным текстом, так и с подсветкой синтаксиса.

Вы также можете обратиться к нашему руководству «Прямое преобразование HTML в PDF на Python», чтобы узнать больше.


4. Сравнительная таблица: выбор правильного метода преобразования

Метод Преимущества Недостатки Лучший вариант использования
Онлайн-конвертеры Быстро, без установки Проблемы с конфиденциальностью, ограниченное форматирование Небольшие, неконфиденциальные файлы
Печать в PDF в IDE Просто, сохраняет синтаксис (часто) Нет автоматизации Преобразование одного файла
Скрипт Python (прямой/HTML) Автоматизация, пакетная обработка, настройка Требуются знания в области написания скриптов Документация, учебные пособия, конвейеры

5. Лучшие практики для создания четкого и читаемого PDF-кода

Следуйте этим практикам, чтобы ваши PDF-файлы с кодом Python были легко читаемыми, хорошо отформатированными и выглядели профессионально.

Используйте моноширинный шрифт

Моноширинные шрифты сохраняют отступы и выравнивание, что облегчает чтение и отладку кода.

Управляйте длинными строками и переносом

Включите перенос строк или настройте поля страницы, чтобы предотвратить горизонтальную прокрутку и обрезку строк кода.

Поддерживайте единообразное форматирование

Сохраняйте единообразие размеров шрифтов, цветов, интервалов и макета страниц в нескольких PDF-файлах, особенно при пакетной обработке.

Сохраняйте логические блоки кода

Избегайте разделения функций, циклов или многострочных операторов между страницами, чтобы сохранить читаемость и структуру.

Организуйте именование файлов и структуру папок

Используйте систематические имена файлов и организацию папок для пакетного экспорта, автоматизированной документации или архивов проектов.


6. Заключение

Преобразование файлов Python (.py) в PDF обеспечивает надежный способ сохранения форматирования кода, улучшения читаемости и создания документов для совместного использования или архивирования. Будь то для документации, учебных пособий, образовательных целей или личного использования, эти методы позволяют разработчикам, командам и отдельным пользователям создавать единообразные и профессионально выглядящие PDF-файлы из своего исходного кода Python.


7. Часто задаваемые вопросы о преобразовании файлов Python в PDF

Ниже приведены некоторые распространенные вопросы, которые задают разработчики, преподаватели и студенты о преобразовании файлов Python в PDF. Эти ответы основаны на методах, описанных в этом руководстве.

Как превратить файл с кодом Python (.py) в PDF?

Вы можете преобразовать файл Python .py в PDF с помощью онлайн-конвертеров, таких как CodeConvert AI, функций печати в PDF в IDE или скриптов на основе Python с Spire.Doc для автоматизированной и пакетной обработки. Выберите метод в зависимости от вашего рабочего процесса, потребностей в форматировании и необходимости подсветки синтаксиса.

Как я могу преобразовать блокнот Python Jupyter в PDF?

Для блокнотов Jupyter (.ipynb) вы можете использовать встроенную опцию Файл → Скачать как → PDF, если установлен LaTeX, или сначала экспортировать блокнот в скрипт .py, а затем применить методы преобразования Python в PDF, описанные в этом руководстве.

Как убедиться, что подсветка синтаксиса сохранена в PDF?

Чтобы сохранить цвета и форматирование синтаксиса, преобразуйте код в HTML со встроенными стилями CSS с помощью Pygments, а затем добавьте его в PDF-документ с помощью AppendHTML(). Это сохраняет ключевые слова, комментарии и отступы для более четкого и профессионально выглядящего вывода.

Как преобразовать текстовый файл в PDF с помощью Python в Windows?

В Windows вы можете использовать бесплатные библиотеки Python, такие как Spire.Doc, чтобы прочитать файл .txt или .py, записать его в PDF и при необходимости стилизовать. Печать в PDF в IDE — это еще один вариант для преобразования одного файла без написания кода. Пакетные скрипты могут автоматизировать обработку нескольких файлов при сохранении единообразного форматирования.

Смотрите также