Конвертировать PDF в HTML на Python

Преобразование PDF в HTML

Aspose.PDF for Python via .NET предоставляет множество функций для преобразования различных форматов файлов в PDF‑документы и преобразования PDF‑файлов в различные форматы вывода. Эта статья рассматривает, как конвертировать PDF‑файл в HTML. Вы можете использовать всего несколько строк кода Python для преобразования PDF в HTML. Возможно, вам потребуется конвертировать PDF в HTML, если вы хотите создать веб‑сайт или добавить контент на онлайн‑форум. Один из способов преобразовать PDF в HTML — программно использовать Python.

Шаги: Преобразовать PDF в HTML на Python

  1. Создайте экземпляр Document объект с исходным PDF документом.
  2. Сохраните в HtmlSaveOptions вызывая save() метод.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

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

Преобразование PDF в HTML с сохранением изображений в указанную папку

Эта функция преобразует PDF‑файл в формат HTML с использованием Aspose.PDF for Python via .NET. Все извлечённые изображения сохраняются в указанной папке вместо встраивания их в HTML‑файл.

  1. Настройте параметры сохранения HTML.
  2. Сохраните как HTML с внешними изображениями.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_storing_images(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    images_path = path.join(path.dirname(infile), "images")
    save_options.special_folder_for_all_images = images_path
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в многостраничный HTML

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

  1. Загрузите исходный PDF, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и ‘set split_into_pages’.
  3. Сохраните документ в формате HTML с разбивкой страниц на отдельные файлы.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_multi_page(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    save_options.split_into_pages = True
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в HTML с сохранением SVG‑изображений в указанную папку

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

  1. Загрузите исходный PDF, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и установите ‘special_folder_for_svg_images’ в целевую папку.
  3. Сохраните документ в формате HTML с внешними SVG‑изображениями.
  4. Выведите сообщение подтверждения.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_storing_svg(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    images_path = path.join(path.dirname(infile), "svg_images")
    save_options.special_folder_for_svg_images = images_path
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в HTML и сохранение сжатых SVG‑изображений

Этот фрагмент кода преобразует PDF в формат HTML, сохраняет все изображения в виде SVG‑файлов в указанную папку и сжимает их для уменьшения размера файла.

  1. Загрузите PDF-документ, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и:
    • Установите ‘special_folder_for_svg_images’, чтобы хранить SVG‑изображения внешне.
    • Включите ‘compress_svg_graphics_if_any’, чтобы сжать SVG изображения.
  3. Сохраните документ в формате HTML с сжатыми внешними SVG‑изображениями.
  4. Выведите сообщение подтверждения.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_compress_svg(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    images_path = path.join(path.dirname(infile), "svg_images")
    save_options.special_folder_for_svg_images = images_path
    save_options.compress_svg_graphics_if_any = True
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в HTML с управлением встроенными растровыми изображениями

Этот фрагмент кода преобразует PDF в формат HTML, встраивая растровые изображения в качестве фоновых PNG‑изображений страниц. Этот подход сохраняет качество изображений и макет страниц в HTML.

  1. Загрузите PDF-документ, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и ‘set raster_images_saving_mode’ в ‘AS_EMBEDDED_PARTS_OF_PNG_PAGE_BACKGROUND’.
  3. Сохраните документ в формате HTML с внедрёнными растровыми изображениями.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_PNG_background(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    save_options.raster_images_saving_mode = ap.HtmlSaveOptions.RasterImagesSavingModes.AS_EMBEDDED_PARTS_OF_PNG_PAGE_BACKGROUND
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в HTML‑страницу только с содержимым тела

Эта функция преобразует PDF в формат HTML, генерируя контент ‘body-only’ без дополнительных тегов ‘html’ или ‘head’, и разбивает вывод на отдельные страницы.

  1. Загрузите PDF-документ, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и настройте:
    • ‘html_markup_generation_mode = WRITE_ONLY_BODY_CONTENT’ для генерации только содержания ‘body’.
    • ‘split_into_pages’ для создания отдельных HTML‑файлов для каждой страницы PDF.
  3. Сохраните документ в формате HTML с указанными параметрами.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_body_content(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    save_options.html_markup_generation_mode = (
        ap.HtmlSaveOptions.HtmlMarkupGenerationModes.WRITE_ONLY_BODY_CONTENT
    )
    save_options.split_into_pages = True
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в HTML с прозрачным отображением текста

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

  1. Загрузите PDF-документ, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и настройте:
    • ‘save_transparent_texts’ для отображения обычного текста как прозрачного.
    • ‘save_shadowed_texts_as_transparent_texts’ для отображения теневого текста как прозрачного.
  3. Сохраните документ в формате HTML с прозрачным отображением текста.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_transparent_text_rendering(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    save_options.save_transparent_texts = True
    save_options.save_shadowed_texts_as_transparent_texts = True
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)

Преобразование PDF в HTML с рендерингом слоёв документа

Эта функция конвертирует PDF в формат HTML, сохраняет слои документа, преобразуя отмеченное содержимое в отдельные слои в результирующем HTML. Это позволяет точно отображать слоистые элементы (например, аннотации, фоновые изображения и наложения).

  1. Загрузите PDF-документ, используя ‘ap.Document’.
  2. Создайте ‘HtmlSaveOptions’ и включите ‘convert_marked_content_to_layers’, чтобы сохранить слои.
  3. Сохраните документ в формате HTML с многослойным содержимым.
import aspose.pdf as ap
from os import path
import sys

def convert_PDF_to_HTML_document_layers_rendering(infile, outfile):
    document = ap.Document(infile)
    save_options = ap.HtmlSaveOptions()
    save_options.convert_marked_content_to_layers = True
    document.save(outfile, save_options)

    print(infile + " converted into " + outfile)