# PDFMonkey Documentation > Generate PDF documents from HTML templates via API --- # From zero to generating your first Document Source: https://pdfmonkey.io/docs/getting-started/from-zero-to-first-document.md ## Create an account on PDFMonkey To create an account, go to [the Register page](https://dashboard.pdfmonkey.io/register) and fill in your email and password. > [!NOTE] > We do not ask for a password confirmation but you can toggle password hiding by clicking on _Show my password_. Once you've filled in your credentials, we will send you an activation email. Click the link in the email to activate your account. **You will not be able to sign in until your account is confirmed.** ## Sign in Once your account confirmed, fill in your credentials in [the Sign in page](https://dashboard.pdfmonkey.io/login) to get access to your dashboard. ## Create your first Template To create a template, head to [the Templates page](https://dashboard.pdfmonkey.io/templates) and click on **Create my first Template**. Give a name to your template, select the **Code** edition mode and select the _Base Template_ named **Blank**. It will open the Template Editor, where PDFMonkey's magic happens. > [!NOTE] > You can change the name of your Template as often as you want, it will have no impact on your client applications. ## Writing your first Template In the **HTML** tab, insert the following code: ```liquid
Hello {{name}}!
``` In the **CSS** tab, insert the following code: ```css p { color: #6D28D9; font-size: 24px; } ``` And finally in the **Test data** tab, insert this: ```json { "name": "Peter Parker" } ``` You can now click on the **Save** button, and you should see the preview panel on the right update to reflect your changes. > [!NOTE] > **Real PDF preview** > > The PDF preview you see is actually a 100% accurate version of what the final result will be as it is a real PDF, generated using the same process we use to generate your Documents. The last step is to make your Template available for generation. To do so, click on the **Publish** button. For more on template syntax, see the [Code Templates](https://pdfmonkey.io/docs/code-templates) section. Learn about [using dynamic data](https://pdfmonkey.io/docs/code-templates/defining-dynamic-data.md) to preview your templates. ## Generating your first Document Now that your Template is complete, let's head to [the Documents page](https://dashboard.pdfmonkey.io/documents). Once there, click on the **Create my first Document** button. In the next page, select your template from the dropdown list presented to you and click on **Create a draft**. It will open the Document Editor, letting you specify data and meta-data for your Document. By default you will be shown an editable copy of the test data you've added to your Template. Let's update it to the following: ```json { "name": "Spider-man" } ``` Now head to the **Meta data** tab and insert the following to [customise the PDF filename](https://pdfmonkey.io/docs/generating-documents/custom-filename.md): ```json { "_filename": "hello-spider-man.pdf" } ``` Click on the **Save** button. The preview will refresh, showing you an up-to-date version of the PDF. Finally click on **Generate**. That's it! You generated your very first Document with PDFMonkey! If something goes wrong, check the [Troubleshooting](https://pdfmonkey.io/docs/troubleshooting) section. --- # Dashboard UI Tour Source: https://pdfmonkey.io/docs/getting-started/dashboard-ui-tour.md This page gives you a quick tour of the main areas of the PDFMonkey dashboard. Each section links to more detailed documentation so you can dive deeper when you are ready. ## Templates  The Templates page is the first thing you see after signing in. It lists every template in your current workspace, displayed as cards showing the template name, its status (draft or published), and when it was last modified. From this page you can: - **Create a new template** using the _Create Template_ button at the top of the page. - **Duplicate or delete** a template from its context menu. To learn how to build a template from scratch, see [Your First Template (Builder)](https://pdfmonkey.io/docs/builder-templates/your-first-template.md) or the [Code Templates](https://pdfmonkey.io/docs/code-templates) section. ## Template Editor  The template editor is where you design your PDF layout and preview the result in real time. PDFMonkey offers two editing modes: - **Code editor** -- Write HTML, CSS, and Liquid markup directly. The editor has three tabs: _HTML_, _CSS_, and _Test Data_. Changes are reflected in the preview pane on the right after you save. - **Builder** -- A drag-and-drop interface that lets you assemble pages from pre-built blocks without writing code. The preview pane renders a real PDF using the same engine that produces your final documents, so what you see is exactly what your users will receive. When your template is ready, click **Publish** to make it available for document generation. Only published templates can be used to create documents through the API or integrations. For a hands-on walkthrough, see [From Zero to First Document](https://pdfmonkey.io/docs/getting-started/from-zero-to-first-document.md). ## Documents  The Documents page shows every document that has been generated in your workspace. Each entry displays the document name, the template it was created from, its current status, and when it was generated. Documents go through several statuses during their lifecycle: - **Draft** -- Created but not yet sent for generation. - **Pending** -- Queued for generation. - **Generating** -- Currently being rendered. - **Success** -- Generation complete; the PDF is ready to download. - **Failure** -- Something went wrong during generation. You can filter the list by template or by status to find specific documents quickly. The **Create Document** button lets you generate a document manually by selecting a template and providing JSON data. For a detailed breakdown of each status, see [Document Statuses](https://pdfmonkey.io/docs/generating-documents/document-statuses.md). ## Settings  The Settings page lets you manage your workspace identity. From this page you can: - **Rename your workspace** -- Edit the workspace name and click _Save_ to apply the change. - **Copy your Workspace ID** -- The unique identifier for your workspace, useful when contacting support or working with the API. ## FAQ **What are the main sections of the PDFMonkey dashboard?** The dashboard has four main areas: Templates (listing all templates in your workspace), the Template Editor (for designing PDF layouts with code or the visual builder), Documents (showing generated documents and their statuses), and Settings (for managing workspace identity). **What document statuses exist in PDFMonkey?** Documents go through five statuses: Draft (created but not queued), Pending (queued for generation), Generating (currently rendering), Success (PDF ready to download), and Failure (something went wrong during generation). **Does the PDFMonkey template editor show a real preview?** Yes. The preview pane renders a real PDF using the same engine that produces your final documents, so what you see in the editor is exactly what your users will receive. --- # PDFMonkey 30-Day Pro Trial: Features, Limits, and What Happens Next Source: https://pdfmonkey.io/docs/getting-started/the-30-day-trial.md Every new PDFMonkey account starts with a **30-day Pro trial** so you can explore premium features before choosing a plan. During the trial you have access to the same capabilities as the [Pro plan](https://pdfmonkey.io/docs/pricing-and-billing/our-plans.md#pro), with no credit card required. ## What the trial includes {#what-the-trial-includes} | Feature | Trial (Pro) | Free plan (after trial) | |:--------|:-----------:|:-----------------------:| | Document generations | 300/month | 20/month | | [External resources](https://pdfmonkey.io/docs/getting-started/external-resources.md) (images, fonts, CSS, JS via URL) | Yes | No | | Max generation time per document | 2 minutes | 30 seconds | | [Document retention](https://pdfmonkey.io/docs/generating-documents/retention-and-deletion.md) | 24 hours | 24 hours | > [!NOTE] > **No payment required** > > The trial activates automatically when you [create your account](https://pdfmonkey.io/docs/getting-started/from-zero-to-first-document.md). You are never charged during the trial, and you do not need to cancel anything. ## What changes when the trial ends? {#what-changes-when-the-trial-ends} When the 30-day trial expires, your account **downgrades to the Free plan** automatically. You are not charged. The main differences you will notice: - **External resources stop working.** Images, CSS, JavaScript, and fonts loaded via URL are restricted on the Free plan. Documents that reference them will fail at generation time. See [External Resources](https://pdfmonkey.io/docs/getting-started/external-resources.md) for the full definition of what counts. - **Your generation quota drops to 20 documents per month** instead of 300. - **Max generation time drops to 30 seconds** instead of 2 minutes. > [!TIP] > **Upgrade before the trial ends** > > If the trial features match your needs, [upgrade to a paid plan](https://pdfmonkey.io/docs/pricing-and-billing/changing-my-plan.md) any time during or after the trial. Changes take effect immediately and billing is prorated. See [Our Plans](https://pdfmonkey.io/docs/pricing-and-billing/our-plans.md) for a full comparison. ## What you can use on the Free plan {#what-can-i-use-on-the-free-plan} After the trial, the following resources continue working on the Free plan because they do not count as external resources: - **Images** loaded using [data-uri or inline SVG](https://pdfmonkey.io/docs/code-templates/images.md) - **CSS** written directly in the template's HTML or CSS tab - **CSS** sent in the document's dynamic data and inlined in the HTML using a variable - **JavaScript** written directly in the template's HTML tab - **JavaScript** stored in the document's dynamic data and inlined in the HTML using a variable - **Hosted Tailwind CSS** versions that PDFMonkey provides (see [Hosted Tailwind CSS Versions](https://pdfmonkey.io/docs/code-templates/custom-css.md#hosted-tailwind-css-versions)) For more detail on what qualifies as an external resource and what does not, see the dedicated [External Resources](https://pdfmonkey.io/docs/getting-started/external-resources.md) page. ## Frequently asked questions {#faq} **Can I extend the trial?** The trial is a one-time, 30-day window per account. That said, we understand that sometimes you may have missed the trial entirely or need more time to evaluate the product. If that is your situation, [contact our support team](https://pdfmonkey.io/docs/getting-started/support.md) and we will see what we can do. **What happens to my documents when the trial ends?** Your existing documents are not deleted. They remain accessible according to the [retention settings](https://pdfmonkey.io/docs/generating-documents/retention-and-deletion.md) on your templates. Only new generation requests are affected by the Free plan limits. **Can I upgrade before the trial ends?** Yes. You can [switch to any paid plan](https://pdfmonkey.io/docs/pricing-and-billing/changing-my-plan.md) at any point during the trial. The change takes effect immediately. **Do unused trial documents roll over?** No. Your monthly quota resets at the start of each billing cycle. Unused documents do not carry over. See [Reaching Your Quota](https://pdfmonkey.io/docs/pricing-and-billing/our-plans.md#reaching-your-quota) for details. ## Related pages {#related-pages} - [From Zero to First Document](https://pdfmonkey.io/docs/getting-started/from-zero-to-first-document.md): get started with your first template and document - [External Resources](https://pdfmonkey.io/docs/getting-started/external-resources.md): what counts as an external resource and free-plan alternatives - [Our Plans](https://pdfmonkey.io/docs/pricing-and-billing/our-plans.md): compare all plan tiers side by side - [Changing My Plan](https://pdfmonkey.io/docs/pricing-and-billing/changing-my-plan.md): how upgrades, downgrades, and proration work - [Document Retention and Deletion](https://pdfmonkey.io/docs/generating-documents/retention-and-deletion.md): TTL settings and plan-based retention limits ## FAQ **What does the PDFMonkey 30-day trial include?** The trial gives you Pro-level access for 30 days: 300 document generations per month, external resources (images, fonts, CSS, and JS via URL), and a 2-minute maximum generation time per document. **What happens when the PDFMonkey trial ends?** Your account automatically downgrades to the Free plan at no charge. External resources stop working, your generation quota drops to 20 documents per month, and the maximum generation time drops to 30 seconds. **Do I need a credit card for the PDFMonkey trial?** No. The trial activates automatically when you create your account. You are never charged during the trial and you do not need to cancel anything. **Can I upgrade during the PDFMonkey trial?** Yes. You can switch to any paid plan at any point during the trial. The change takes effect immediately and billing is prorated. --- # External Resources in PDFMonkey Source: https://pdfmonkey.io/docs/getting-started/external-resources.md # External Resources PDFMonkey templates can load assets from external URLs -- images, stylesheets, scripts, and fonts. These are called **external resources**, and their availability depends on your plan. This page explains what qualifies, how to tell if your template uses one, and what to do if you are on the Free plan. ## What Counts as an External Resource? An external resource is any file your template loads via a URL (`http://...` or `https://...`). This includes: * **Remote images** -- loaded from a server or CDN ([data-uri and inline SVG](https://pdfmonkey.io/docs/code-templates/images.md) still work on all plans) * **CSS files** -- stylesheets hosted on your servers or a CDN * **JavaScript files** -- scripts hosted on your servers or a CDN * **Web fonts** -- like Google Fonts or Bunny Fonts * **Visual Editor fonts** -- any font selected in the builder's font-family picker ### How to tell if your template uses external resources Look for URLs in your template code. Anything that starts with `http://` or `https://` is an external resource: ```html
```
```css
/* Also external */
@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");
```
Resources written directly in your template are **not** external resources and work on every plan:
```html
Hello\nWorld!