Convert URL to PDF with Python

This quick tutorial guides on how to convert URL to PDF with Python. It has all the details to set up the IDE, a list of steps, and a sample code to transform a link into PDF with Python. You will learn to customize the output PDF file by setting various parameters according to your requirements.

Steps to Convert Website Page to PDF with Python

  1. Set the environment to use Aspose.PDF for Python via .NET to convert URL to PDF
  2. Define the webpage URL and declare HtmlLoadOptions to customize the output page setup
  3. Send the GET request to the specified URL and get the page contents as a byte stream
  4. Create a PDF document from the webpage stream
  5. Save the output document as a PDF file

These steps describe the conversion of URL to PDF with Python. Set the target URL, output PDF page options, and send the GET request to fetch the webpage contents. Load the webpage stream into the Document class object and save the output document as a PDF.

# Import necessary modules
import requests # For making HTTP requests to fetch webpage content
from io import BytesIO # To handle byte stream data
from aspose.pdf import Document # Import Aspose PDF's Document class for PDF operations
import aspose.pdf as ap # Import Aspose PDF module for additional functionality
def fetch_web_content_as_stream(webpage_url):
"""
Fetches the content of a webpage and returns it as a byte stream.
Parameters:
webpage_url (str): The URL of the webpage to fetch.
Returns:
BytesIO: A byte stream of the webpage content.
"""
response = requests.get(webpage_url) # Send GET request to the specified URL
response.raise_for_status() # Raise an error if the request fails
return BytesIO(response.content) # Return the content as a byte stream
def main():
"""
Main function that converts a webpage into a PDF document.
"""
# Set Aspose.PDF license (assumes "license.lic" file is available)
license = ap.License()
license.set_license("license.lic")
# Define the webpage URL to be converted
webpage_url = "https://docs.aspose.com/"
# Configure HTML-to-PDF conversion options
pdf_options = ap.HtmlLoadOptions(webpage_url) # Create HTML load options with the webpage URL
pdf_options.page_info.width = 1200 # Set PDF page width
pdf_options.page_info.height = 850 # Set PDF page height
# Fetch webpage content as a byte stream
with fetch_web_content_as_stream(webpage_url) as web_stream:
# Uncomment the lines below to print and inspect the webpage content
# print(web_stream.read().decode('utf-8', errors='ignore'))
# web_stream.seek(0) # Reset the stream position after reading
# Create a PDF document from the webpage stream
pdf_document = Document(web_stream, pdf_options)
# Save the converted PDF document
pdf_document.save("Converted_WebPage.pdf")
print("URL converted to PDF successfully")
# Run the main function if the script is executed directly
if __name__ == "__main__":
main()

This code demonstrates the URL link to PDF converter with Python. Set the warning handler to implement a callback function for conversion errors, flag to render content on a single page, and input encoding. You can read the stream and print it by un-commenting the two lines of code to inspect the webpage contents.

This article has taught us to convert the URO to PDF. To convert HTML content to PDF, refer to the article on how to convert HTML to PDF in Python.

 English