HTML to PDF - Command Line Guide

This page is a guide on using Pdfcrowd API to convert web pages and HTML content to PDF from the command line. For general information about the converter, refer to the HTML to PDF API documentation.

Installation

You can install the application from PyPI
pip install pdfcrowd

Check out other installation options.

Quick Start

Below are Command Line examples to help you quickly get started with the API. Explore our additional examples for more insights.

Authentication

To access the API, you will need to use your Pdfcrowd username and API key. For initial testing, you may use the following demo credentials without registering:

  • Username: demo
  • API key: ce544b6ea52a5621fb9d55f8b542d14d

To obtain your personal API credentials, consider starting a free API trial or purchasing the API license.

API Output Preview

Quickly preview the API output by entering a URL or uploading an HTML file below. This will generate previews with different API settings. You can then choose the one you prefer and simply use the respective command.

Below are sample PDFs generated by the API.

Customization

The API supports converting a webpage, an HTML file, or a string containing HTML.

The table below highlights the most common customizations you might find useful. Refer to the Option Reference for a detailed description of all available options. For an interactive experience, explore these options in the API Playground.

For additional customization options and troubleshooting, please visit the FAQ section of our website where you can find answers and help related to frequent queries and common issues.

Page Size Adjust the page size using -page_size. To create a single-page, set -1 to -page_height to consolidate all content onto one page.
Page Orientation Change the page orientation to landscape using -orientation.
Page Margins Adjust the page margins with -page_margins. To eliminate all margins use -no_margins.
Headers and Footers Add custom headers and footers using -header_html and -footer_html. To adjust the height of headers or footers, use -footer_height and -header_height respectively.
For detailed guidance on implementing these features, refer to this tutorial.
Hide or Remove Contents Utilize the following classes in your HTML code to hide or remove elements from the output:
  • `pdfcrowd-remove`: This class applies `display:none!important` to the element, effectively removing it from the layout.
  • `pdfcrowd-hide`: This class applies `visibility:hidden!important` to the element, making it invisible but still occupying space in the layout.
For additional methods and detailed explanations, refer to this FAQ article.
Custom CSS Styling To customize CSS styling specifically for the conversion, use -custom_css to inject additional styles.

Alternatively, you can directly incorporate conversion-specific styling into your main stylesheet. Just prefix your CSS selectors with `.pdfcrowd-body` to ensure the styles apply only during the conversion process. For example:
.pdfcrowd-body h1 { font-size: 48px; }
.pdfcrowd-body footer { display: none; }
Avoid Page Break To prevent page breaks within specific elements, use the `page-break-inside:avoid;` CSS property. Apply this property to elements where you do not want a page break, such as tables, table cells, and images. Here is an example:
th, td, img { page-break-inside:avoid }
Force Page Break You can force a page break in your document by incorporating a specific style in an HTML div tag. Insert the following code where you want the page break to occur:
<div style="page-break-before:always"></div>
Zoom Adjust the zoom level of HTML contents by using -scale_factor. This allows you to scale the content up or down according to your preferences or needs.
Use `@media print` Activate the print version of a webpage (if available) using -use_print_media. This function instructs the API to apply the CSS rules defined within the `@media print` stylesheet, ensuring the output mirrors the print-optimized version of the webpage.
Inject Custom JavaScript Utilize -custom_javascript or -on_load_javascript to modify HTML content using custom JavaScript scripts. These scripts run when the page loads, allowing you to dynamically alter elements, styles, or behavior. In addition to the standard browser JavaScript APIs, your scripts can leverage helper functions provided by our JavaScript library.
Add PDF Signature Enable the creation of PDFs with a digital signature field. This feature allows the PDF to be digitally signed using applications such as Adobe Acrobat or Preview. For more detailed instructions refer to our Create Digital Signature in PDF guide.
Fillable PDF Form Create fillable PDFs equipped with interactive fields and buttons. This functionality allows users to enter data directly into the PDF, making it ideal for applications such as forms and surveys. For detailed instructions on how to implement this feature, please refer to our Create Fillable PDF Form guide.
HTML Templates Add data to your HTML templates for dynamic generation tailored to specific content needs, such as reports, invoices, and personalized documents. For details, refer to HTML Template to PDF.

Troubleshooting

  • If you are receiving an error, refer to the API Status Codes for more information.
  • Utilize -debug-log to obtain detailed information about the conversion process, including load errors, load times, browser console output, etc.
  • Consult the FAQ for answers to common questions.
  • Contact us if you need assistance or if there is a feature you are missing.

User Manual

Refer to the HTML to PDF Command Line Reference Manual for a description of all command line options.