Konwertuj HTML na PDF za pomocą REST API w Python

Jako programista Python możesz łatwo programowo konwertować pliki HTML na dokumenty PDF w chmurze. Taka konwersja może być pomocna w prowadzeniu ewidencji lub udostępnianiu plików HTML w przenośnej formie. W tym artykule dowiesz się, jak konwertować dokumenty HTML na PDF za pomocą REST API w Python.

W tym artykule zostaną omówione następujące tematy:

Konwersja HTML do PDF REST API i Python SDK

Do konwersji plików HTML na PDF będę używał Python SDK of GroupDocs.Conversion Cloud API. Umożliwia konwersję dokumentów i obrazów z dowolnego obsługiwanego formatu plików do dowolnego potrzebnego formatu. Możesz łatwo konwertować ponad 50 rodzajów dokumentów i obrazów, takich jak Word, PowerPoint, Excel, PDF, HTML, CAD, obrazy rastrowe itp.

Możesz zainstalować GroupDocs.Conversion Cloud w swoim projekcie Python, używając następującego polecenia w konsoli:

pip install groupdocs_conversion_cloud

Zanim zaczniesz postępować zgodnie z instrukcjami i dostępnymi przykładami kodu, uzyskaj swój identyfikator klienta i klucz tajny klienta z panelu nawigacyjnego. Gdy masz już swój identyfikator i sekret, dodaj kod, jak pokazano poniżej:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_conversion_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Konwertuj HTML na PDF za pomocą REST API w Python

Możesz przekonwertować plik HTML na dokumenty PDF, wykonując proste czynności wymienione poniżej:

Prześlij dokument

Najpierw prześlij plik HTML do chmury, korzystając z przykładowego kodu podanego poniżej:

# utwórz instancję API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# prześlij prośbę o plik
request = groupdocs_conversion_cloud.UploadFileRequest("sample.html", "C:\\Files\\sample.html", my_storage)

# prześlij przykładowy plik
response = file_api.upload_file(request)

W rezultacie przesłany plik HTML będzie dostępny w sekcji plików Twojego pulpitu nawigacyjnego w chmurze.

Konwertuj HTML na PDF w Python

Możesz łatwo programowo konwertować dokumenty HTML na PDF, wykonując poniższe czynności:

  • Utwórz instancję ConvertApi
  • Utwórz instancję ConvertSettings
  • Ustaw ścieżkę pliku HTML
  • Przypisz „pdf” do formatu
  • Podaj ścieżkę pliku wyjściowego
  • W razie potrzeby zdefiniuj PdfConvertOptions
  • Opcjonalnie ustaw różne właściwości, takie jak dpi, margin\top, margin\left, fit\window itp.
  • Utwórz ConvertDocumentRequest za pomocą ConvertSettings
  • Uzyskaj wyniki, wywołując metodę convert\document() z ConvertDocumentRequest

Poniższy przykład kodu pokazuje, jak przekonwertować plik HTML na dokument PDF przy użyciu interfejsu API REST.

# Utwórz niezbędne instancje interfejsu API
konwertować_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# Przygotuj ustawienia konwersji
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = "konwertowaćed"

# Opcje konwersji PDF
konwertowaćOptions = groupdocs_conversion_cloud.PdfConvertOptions()
konwertowaćOptions.center_window = True     # Set position of the document's window on the screen
konwertowaćOptions.display_doc_title = True
konwertowaćOptions.dpi = 1024.0
konwertowaćOptions.fit_window = False
konwertowaćOptions.from_page = 1           # Start conversion from FromPage page
konwertowaćOptions.linearize = False       # Linearize PDF Document for the Web
konwertowaćOptions.margin_top = 5
konwertowaćOptions.margin_left = 5
konwertowaćOptions.unembed_fonts = True     # Make fonts not embedded
konwertowaćOptions.remove_pdfa_compliance = False # Remove Pdf-A Compliance

settings.konwertować_options = konwertowaćOptions

# Konwertuj żądanie dokumentu
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)

# konwertować
result = konwertować_api.konwertować_document(request)

# Zrobione
print("Document konwertowaćed: " + result[0].path)
Konwertuj HTML na PDF za pomocą REST API w Python

Konwertuj HTML na PDF za pomocą REST API w Python

Pobierz przekonwertowany plik

Powyższy przykładowy kod zapisze przekonwertowany plik PDF w chmurze. Możesz go pobrać, korzystając z następującego przykładowego kodu:

# Inicjalizacja interfejsu API
file_api = groupdocs_conversion_cloud.FileApi.from_config(configuration)

# utwórz żądanie pobrania pliku
request = groupdocs_conversion_cloud.DownloadFileRequest("converted\\sample.pdf", my_storage)

# pobieranie pliku
response = file_api.download_file(request)

# Przenieś pobrany plik do katalogu roboczego
shutil.move(response, "C:\\Files\\")

Konwertuj HTML na PDF i Dodaj znak wodny

Możesz programowo konwertować dokumenty HTML na PDF i dodawać znaki wodne do przekonwertowanych dokumentów, wykonując poniższe czynności:

  • Utwórz instancję ConvertApi
  • Utwórz instancję ConvertSettings
  • Ustaw ścieżkę pliku HTML
  • Przypisz „pdf” do formatu
  • Podaj ścieżkę pliku wyjściowego
  • Utwórz instancję WatermarkOptions
  • Ustaw tekst znaku wodnego, kolor, szerokość, wysokość itp.
  • Zdefiniuj PdfConvertOptions i przypisz WatermarkOptions
  • Utwórz ConvertDocumentRequest za pomocą ConvertSettings
  • Konwertuj, wywołując metodę convert\document() z ConvertDocumentRequest

Poniższy przykład kodu pokazuje, jak przekonwertować plik HTML na dokument PDF i dodać znak wodny do przekonwertowanego dokumentu PDF przy użyciu interfejsu API REST w języku Python. Wykonaj czynności wymienione wcześniej, aby przesyłać i pobierać pliki.

# inicjalizacja API
konwertować_api = groupdocs_conversion_cloud.ConvertApi.from_keys(client_id, client_secret)

# zdefiniuj ustawienia konwersji
settings = groupdocs_conversion_cloud.ConvertSettings()
settings.file_path = "sample.html"
settings.format = "pdf"
settings.output_path = "konwertowaćed"

# zdefiniuj opcje znaku wodnego
watermark = groupdocs_conversion_cloud.WatermarkOptions()
watermark.text = "THIS IS SAMPLE WATERMARK"
watermark.bold = True;
watermark.font_size = 34;
watermark.color = "Gray";
watermark.background = False;
watermark.rotation_angle = 30;
watermark.left = 90;
watermark.top = 500;

# zdefiniuj opcje konwersji PDF
konwertowaćOptions = groupdocs_conversion_cloud.PdfConvertOptions()
konwertowaćOptions.watermark_options = watermark

settings.konwertować_options = konwertowaćOptions

# utwórz żądanie konwersji dokumentu
request = groupdocs_conversion_cloud.ConvertDocumentRequest(settings)
# konwertować
result = konwertować_api.konwertować_document(request)
print("Document konwertowaćed successfully: " + result[0].url)
Konwertuj HTML na PDF i Dodaj znak wodny

Konwertuj HTML na PDF i Dodaj znak wodny

Konwersja HTML do PDF bez korzystania z Cloud Storage

Możesz konwertować dokumenty HTML na PDF bez korzystania z przechowywania w chmurze, wykonując czynności podane poniżej:

  • Utwórz instancję ConvertApi
  • Utwórz ConvertDocumentDirectRequest i przekaż żądany format dokumentu oraz ścieżkę pliku wejściowego
  • Uzyskaj wyniki, wywołując metodę convert\document\direct() z ConvertDocumentDirectRequest
  • Opcjonalnie zapisz plik wyjściowy w ścieżce lokalnej za pomocą metody shutil.move().

Poniższy przykład kodu pokazuje, jak przekonwertować plik HTML na dokument PDF bez korzystania z magazynu w chmurze. Przekażesz plik wejściowy w treści żądania i otrzymasz plik wyjściowy w odpowiedzi API.

# Utwórz niezbędne instancje interfejsu API
convert_api = groupdocs_conversion_cloud.KonwertowaćApi.from_keys(client_id, client_secret)

# Przygotuj wniosek
request = groupdocs_conversion_cloud.KonwertowaćDocumentDirectRequest("pdf", "C:\\Files\\sample.html")

# Konwertować
result = convert_api.convert_document_direct(request)

# Przenieś pobrany plik do katalogu roboczego
shutil.move(result, "C:\\Files\\")

Konwertuj HTML na PDF i pobieraj bezpośrednio

Możesz łatwo programowo konwertować dokumenty HTML na PDF, wykonując poniższe czynności:

  • Utwórz instancję ConvertApi
  • Utwórz instancję ConvertSettings
  • Ustaw ścieżkę pliku HTML
  • Przypisz „pdf” do formatu
  • Ustaw „Brak” na ścieżkę wyjściową
  • Utwórz ConvertDocumentRequest za pomocą ConvertSettings
  • Uzyskaj wyniki, wywołując metodę convert\document\download().
  • Opcjonalnie zapisz plik wyjściowy w ścieżce lokalnej za pomocą metody shutil.move().

Poniższy przykład kodu pokazuje, jak przekonwertować plik HTML na dokument PDF i pobrać go bezpośrednio przy użyciu interfejsu API REST w języku Python. W odpowiedzi API zwróci przekonwertowany plik PDF. Wykonaj czynności wymienione wcześniej, aby przesłać plik.

# Utwórz niezbędne instancje interfejsu API
convert_api = groupdocs_conversion_cloud.KonwertowaćApi.from_keys(client_id, client_secret)

# Przygotuj ustawienia konwersji
settings = groupdocs_conversion_cloud.KonwertowaćSettings()
settings.file_path = "sample.html"
settings.format = "pdf"

settings.output_path = None    # leave OutputPath will result the output as document IOStream

# Przygotuj wniosek
request = groupdocs_conversion_cloud.KonwertowaćDocumentRequest(settings)

# Konwertować
response = convert_api.convert_document_download(request)

# Przenieś pobrany plik do katalogu roboczego
shutil.move(response, "C:\\Files\\")

Wypróbuj online

Wypróbuj następujące bezpłatne narzędzie online do konwersji HTML na PDF, które zostało opracowane przy użyciu powyższego interfejsu API. https://products.groupdocs.app/conversion/html-to-pdf

Wniosek

W tym artykule nauczyłeś się konwertować pliki HTML na dokumenty PDF za pomocą Python w chmurze. Nauczyłeś się również, jak konwertować pliki HTML na dokumenty PDF bez programowego korzystania z magazynu w chmurze. Ponadto nauczyłeś się dodawać znak wodny do przekonwertowanych dokumentów PDF za pomocą Python. W tym artykule wyjaśniono również, jak programowo przesłać plik HTML do chmury, a następnie pobrać przekonwertowany plik PDF z chmury. Możesz dowiedzieć się więcej o GroupDocs.Conversion Cloud API korzystając z dokumentacji. Udostępniamy również sekcję Informacje o interfejsach API, która umożliwia wizualizację i interakcję z naszymi interfejsami API bezpośrednio w przeglądarce. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też