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

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

В этом руководстве вы найдете информацию о том, как преобразовать HTML-документ в формат файла переносимого формата документа (PDF) с помощью Aspose.HTML for Python via .NET. Мы подробно рассмотрим, как конвертировать HTML в PDF с помощью методов convert_html() класса Converter и как применять PdfSaveOptions. Кроме того, вы можете попробовать онлайн-конвертер HTML, чтобы протестировать функциональность Aspose.HTML и конвертировать HTML на лету.

Чтобы продолжить работу с этим руководством, установите и настройте Aspose.HTML for Python via .NET в своем проекте Python. Наши примеры кода помогут вам конвертировать HTML в PDF и создавать PDF-файлы с помощью библиотеки Python.

HTML в PDF с помощью одной строки кода

Методы класса Converter в основном используются как самый простой способ конвертировать HTML-код в различные форматы. Вы можете конвертировать HTML в PDF в своем приложении Python буквально с помощью одной строки кода!

1# Convert HTML to PDF using Python
2
3import aspose.html.converters as conv
4import aspose.html.saving as sav
5
6# Convert HTML to PDF
7conv.Converter.convert_html("document.html", sav.PdfSaveOptions(), "output.pdf")

Онлайн HTML Конвертер

Вы можете протестировать возможности Aspose.HTML for Python via .NET и выполнить преобразование HTML в реальном времени. Просто загрузите файл HTML из локальной файловой системы или URL, выберите нужный формат вывода и запустите предоставленный пример кода. В примере используются параметры сохранения по умолчанию. После завершения вы мгновенно получите преобразованный файл в выбранном вами формате.

                
            

Конвертировать HTML в PDF с указанием PdfSaveOptions

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

  1. Загрузите HTML-файл, используя один из конструкторов HTMLDocument() класса HTMLDocument. В приведенном выше примере мы инициализируем HTML-документ из файла.
  2. Создайте новый объект PdfSaveOptions и укажите необходимые свойства. Класс PdfSaveOptions предоставляет множество свойств, которые дают вам полный контроль над широким диапазоном параметров и улучшают процесс преобразования HTML в PDF.
  3. Используйте метод convert_html() класса Converter. В следующем примере вам необходимо передать HTMLDocument, PdfSaveOptions и путь к выходному файлу методу Convert_html().

В следующем примере кода Python показано, как использовать PdfSaveOptions и создать PDF-файл с настраиваемыми параметрами сохранения:

 1# Convert HTML to PDF in Python with custom settings
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.converters as conv
 6import aspose.html.saving as sav
 7import aspose.html.drawing as dr
 8import aspose.pydrawing as pd
 9import aspose.html.rendering.pdf.encryption as rpe
10
11
12# Setup directories and define paths
13output_dir = "output/"
14input_dir = "data/"
15if not os.path.exists(output_dir):
16    os.makedirs(output_dir)
17document_path = os.path.join(input_dir, "document.html")
18save_path = os.path.join(output_dir, "document-options.pdf")
19
20# Load an HTML document from a file or URL
21doc = ah.HTMLDocument(document_path)
22
23# Initialize saving options
24options = sav.PdfSaveOptions()
25options.page_setup.any_page = dr.Page(dr.Size(800, 600), dr.Margin(10, 10, 10, 10))
26options.css.media_type.PRINT
27options.horizontal_resolution = dr.Resolution.from_dots_per_inch(100.0)
28options.vertical_resolution = dr.Resolution.from_dots_per_inch(100.0)
29options.background_color = pd.Color.bisque
30options.is_tagged_pdf = True
31options.jpeg_quality = 90
32
33doc_info = options.document_info
34doc_info.title = "Aspose HTML Example"
35doc_info.author = "Your Name"
36doc_info.subject = "PDF Conversion"
37doc_info.keywords = "Aspose, HTML, PDF"
38
39options.encryption = rpe.PdfEncryptionInfo(
40    user_password="user123",
41    owner_password="owner123",
42    permissions=rpe.PdfPermissions.PRINT_DOCUMENT | rpe.PdfPermissions.EXTRACT_CONTENT,
43    encryption_algorithm=rpe.PdfEncryptionAlgorithm.RC4_128
44)
45
46# Convert HTML to PDF
47conv.Converter.convert_html(doc, options, save_path)

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

Оценить качество конвертации вы можете, попробовав наш продукт. На следующем рисунке показан результат преобразования файла aspose.html в формат PDF:

Текст «На рисунке показан файл aspose.html»

Класс PDFSaveOptions

Aspose.HTML for Python via .NET предоставляет класс PdfSaveOptions, который дает вам больше контроля над сохранением документов в формате PDF. Некоторые свойства этого класса наследуют свойства базовых классов, например PdfRenderingOptions или RenderingOptions. Использование PdfSaveOptions позволяет настроить процесс рендеринга; вы можете указать размер страницы, поля, права доступа к файлу, Css и т. д. Вот описание свойств, доступных в PdfSaveOptions:

Преобразование HTML в PDF с использованием свойства form_field_behaviour

Aspose.HTML for Python via .NET предлагает свойство form_field_behaviour класса PdfSaveOptions для выравнивания PDF-документов после их преобразования из HTML или MHTML. Это свойство используется для указания поведения полей формы в документе PDF. Если для параметра установлено значение FormFieldBehaviour.FLATTENED, все поля формы в PDF-документе будут сведены.

 1# Flatten PDF during HTML to PDF conversion using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.converters as conv
 6import aspose.html.saving as sav
 7import aspose.html.rendering.pdf as rp
 8
 9# Setup directories and define paths
10data_dir = "data/"
11output_dir = "output/"
12os.makedirs(output_dir, exist_ok=True)
13
14source_path = os.path.join(data_dir, "SampleHtmlForm.html")
15result_path = os.path.join(output_dir, "form-flattened.pdf")
16
17# Load an HTML document
18doc = ah.HTMLDocument(source_path)
19
20# Initialize PdfSaveOptions
21options = sav.PdfSaveOptions()
22options.form_field_behaviour = rp.FormFieldBehaviour.FLATTENED
23
24# Convert HTML to PDF
25conv.Converter.convert_html(doc, options, result_path)

Как конвертировать HTML в XPS

Aspose.HTML for Python via .NET поддерживает преобразование HTML в XPS. Для этого вам следует использовать XpsSaveOptions для получения объекта параметров сохранения, который передается методу convert_html():

options = XpsSaveOptions()

Использование XpsSaveOptions позволяет настроить процесс рендеринга; вы можете указать свойства page_setup, background_color, css, horizontal_resolution и vertical_resolution.

Загрузите библиотеку Aspose.HTML for Python via .NET, чтобы успешно, быстро и легко конвертировать документы HTML, MHTML, EPUB, SVG и Markdown в самые популярные форматы.

Вы можете загрузить полные примеры и файлы данных с GitHub.

Aspose.HTML предлагает бесплатный онлайн Конвертер HTML в PDF, который конвертирует HTML в PDF с высоким качеством, просто и быстро. Просто загрузите, конвертируйте файлы и получите результат через несколько секунд!

Текст «Конвертер HTML в PDF»

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.