• Documentation
  • API reference

The most efficient report generator

Turn your json into pdf, docx, xlsx, pptx, ods and many more, you're 30 seconds away from generating a report, stop writing code for each report, use your existing apis here is how you inject json data into this document template , and convert it to a pdf:, let your clients customize their reports, carbone is so easy to use that your clients can build their own reports using libreoffice, microsoft word, or google docs. a killer feature for software editors who want to reduce development costs while providing personalized documents, invoices or restaurant menu plans in their app., find the solution which matches with your cloud policy.

Open core for hackers

Ready-to-use & High Availability

100% private hosting

Private cloud

Within your preferred provider

Plug, scale & sleep normally

Guaranteed backward compatibility ~ 20ms to render a report ~ 120ms to convert it, keep your data safe, made in france, hosted by european companies we do not keep or sell your data gdpr-compliant, trusted by 300+ paid customers in 40+ countries, 121 434 163 documents since 2021 and 400 planted trees 🌳.

report generator pdf

Get live assistance from real people!

We help you to draw beautiful and maintainable reports. and we solve most issues in minutes , not days..

Very fast and absolutely perfect.

Amazing people!!

Really helpful

Support was really helpful, I got a response in a few moments, and the engineer was able to direct me to a KB article that explained exactly how to do what I needed. Couldn't have been better.

Great and fast support

Great and fast support, thanks

Support was fast

Support was fast, friendly and on point. As always :)!

Quick and professional

Steeve was very quick and professional.

Great response

Great response!!

Fast solution

Great support and so fast solution! Thanks

Méga support

Méga support!

Excellent solutions

The team responds in a timely manner by proposing excellent solutions

Friendly support

Thanks for the quick and friendly support!

Focus on customer value

You guys are great! Focus is on customer value, ie great report, simpe to work with. Excellent!

Support with real humans

having personal support on here is a really nice touch

Support is extraordinary

Your customer support is extraordinary. You know exactly what to do. Solving technical issues via chat is actually sth I have not seen somewhere else. Really appreciate your time and effort.

Vous êtes formidables, votre SaaS est génial

Love Carbone

I love Carbone a lot. Really, thank you for putting the effort into it <3

Great solution.

Encore bravo pour la solution, ça va nous faire gagner un temps de malade

you did a great job creating carbone.

Hands down, Carbone is the BEST

Super powerful

I do really like the carbon template system. The base64 image/url image getting rendered seamlessly without having to instruct the system which one it is is super powerful! I am really amazed at how straight forward it is to build the templates.

Love your product

I love your product

Really like your product

I really like your product

Really admirable

I am really satisfied with the product, but even more with the attention they provide to their customers, it is really admirable. In the years that I have been developing, I have never come across a team like this. For me, the work they do and what they have done is really admirable and they should be very proud...

Really love Carbone

I really love Carbone

Ninox connection

I like Carbone more and more in connection with Ninox

Simplicité d'installation et d'utilisation

Bravo pour ce super produit ! J'adore la simplicité d'installation et d'utilisation. Nous finalisons plusieurs usages de Ninox/Carbone dans notre service, chaque personne qui utilise est conquit ! C'est vraiement un combo parfait !

Amazing product

Actually in Chrome I have a live editor! So every time I save my word file the template is updated. This is an amazing product.

Wonderful support and app

Wonderful Customer Support!!! Wonderful app as well! You should all be proud

Great software

We have just created a template that was SUUUUUUPER hard to get working on our own DOCX renderer but on your renderer wow... I am not sure what kinds of magic you do but wow... We are very impressed, THANK YOU! What great software!

So much easier

I got some advice to try out html2pdf as an alternative to Carbone under Retool. Spend a day and a half on it and went straight back to you. It can't handle large documents and that was the last straw. Also using Word to make the template is so much easier than HTML and you can do more than just PDFs

Really powerful

I really love carbone concept. Really powerful.

Speed and simplicity of use

We use Carbone since several years. Carbone is used to send +40 types of email with Salesforce. Strengths : speed, simplicity of use

Integrations

​​AI Report Generator Built for Engagement

Easily replace your static PDFs with interactive, memorable reports readers eat up and run to share with colleagues. No design skills required.

Used daily by professional teams at leading companies

Xerox

Beautifully designed report templates to  tailor with AI

Grab one of our professionally designed report tempaltes and let our AI report generator✨  do the heavy lifting for you:

Reports that make an impact

Higher reader engagement

More reports read in full

Longer reading time

Faster report creation

Want to see for yourself?

Reports maker that brings the best version of you.

META

"With Storydoc, we were able to  simplify the complex content  of our annual report using graphs, numbers, and detailed insights in an  interactive and efficient way ."

Nitzan Almog Evron

“With our most recent Storydocs, we're like, ‘Oh my goodness, It brought it to life like we do when we present it , but without the person even being there!’”

Frances Dalton

”With Storydoc, we get amazing reports that we can customize to meet our exact needs.  We’ve been getting immensely positive feedback , people like the format even more than the content!"

Uri Gabai

Perfect solutions for your reports

annual report maker

Stop wasting time and money on report design. Make beautiful hyper-engaging reports in hours not weeks.

investor report maker

Make content investors and donors love coming back to. Keep them engaged with modern interactive reports.

ESG and impact report maker

Create immersive impact reports that go viral while cutting down 80% of your current content production time.

internal report generator

Easily make beautiful internal reports that inform, engage, and motivate your team with interactive storytelling.

report generator pdf

Make beautifully designed reports and white papers that grab and hold engagement with interactive visual storytelling.

How our AI report designer works

Generate your report with ai.

Simply type in what you need and let Storydoc do the magic for you!

Edit and bring it to perfection

Let our magic assistant help you through the process
with automatic slide copy and design.

Turbo-charge with integrations

Easily connect your CRM, calendar, and other tools
to move from static PDFs to actionable reports.

Send. Track. Influence. Track reader engagement in real-time Generate your report with AI

Send. track. influence..

Track reader engagement in real-time

A report design solution you can trust

Don’t “report”. tell stories worth sharing., why pay big bucks for reports nobody likes.

Stop paying designers and agencies for PDFs that nobody reads. Make interactive visual stories with double the engagement.

Make reports 5x faster at a fraction of the cost

Avoid the back-and-forth with designers or developers. With Storydoc you simply add content and design follows automatically.

How’s your report looking on mobile?

47% of reports are opened on mobile . Your Storydoc reports won’t fail to impress on mobile or any other device.

Are they loving or hating
your reports?

Get out-of-the-box analytics on how readers, donors, journalists, and decision-makers engage with your reports.

Collaborate safely with editing permissions

Avoid unfortunate edits with smart access control. Allow different team members to review or edit only what they need

Can you afford to keep on making reports the old way?

Magically transform the way your content is received with Storydoc

report generator pdf

Everything that you should know about Storydoc

What is the Storydoc report maker?

This AI report generator lets you intuitively create beautiful online interactive stories your audience will live for. No coding or design skills needed.

The Storydoc report designer offers a diverse array of interactive slides for various reports such as annual reports, impact reports, and sustainability reports.

These are easily customizable to align with your vision and requirements. Storydoc frees you from the outdated method of static PPT slides, offering instead a scroll-based, web-friendly, mobile-optimized experience, complete with performance analytics.

Is Storydoc AI report generator safe?

Yes, the Storydoc AI report creation tool is secure and reliable . Your personal information is safeguarded and encrypted. We prioritize your data security, adhering to stringent security protocols and best practices.

Our reliability is evidenced by organizations like Meta, Pepsi, and Xerox, who trust and use Storydoc regularly.

For more information see  Our Story page ,  Terms and Conditions , and  Privacy Policy .

Why Storydoc is more than just another AI report creator

Storydoc transcends the typical AI-driven report creation. While instant AI reports are convenient to use, the results remain mundane. Storydoc stands out by offering report experiences that truly engage stakeholders, featuring scrollytelling, multimedia, and in-document navigation.

Check out these examples .

What’s so great about AI-generated reports?

AI-generated reports significantly reduce the time and effort required in creating comprehensive documents for your organization.

However, if you're relying on an AI PPT report maker, you're missing out.

Traditional PowerPoints, even AI-made ones, fail to captivate.

But Storydoc changes the game. Our AI doesn't just create reports; it crafts stories that resonate with partners and stakeholders.

Is Storydoc a free report designer?

The Storydoc AI report generator speeds up your content creation and elevates your report content experience from generic to remarkable.

Try our 14-day free trial and discover its impact. We're confident, based on extensive user feedback, that your stakeholders will appreciate the difference.

Every interactive report you create during the trial is yours to keep, free of charge!

For learning about our paid plans see our Pricing .

What's the best way to get started?

Begin by visiting our templates page . Select a template, provide some details, and watch as Storydoc generates a report from scratch, incorporating your branding, content structure, and visuals.

Within the report maker app, you can switch templates, tweak designs with a drag-and-drop interface, access ready-made slides for various scenarios, and utilize our AI assistant for text and image generation.

How do I send or share Storydoc reports?

Storydocs function like web pages; each report you create has a unique link for easy sharing and tracking.

Once your Storydoc report is ready, simply publish it. It becomes instantly accessible for viewing in any browser.

To share, click the Share button and use the link provided. Viewers will experience an interactive webpage, far more engaging than a static PowerPoint or PDF.

You can also embed Storydoc reports as a seamless part of your website using an iframe.

Can I print Storydoc reports?

Yes, printing is currently available for Pro and Enterprise customers. However, this feature will soon be accessible to all Storydoc users.

But remember, a printed Storydoc loses its interactive elements, which are key to its engagement and appeal.

What integrations does Storydoc offer?

Storydoc provides essential content integrations like Calendly, Loom, YouTube, Typeform, and more.

But we don't stop there. With Storydoc, embed lead-capturing forms, live chat, advanced dashboards, in-page payments, and e-signatures. 

Learn more on our Integrations page .

Are Storydocs mobile-friendly?

Of course! Storydoc is optimized for flawless mobile performance . No matter the divide or OS your presentation is opened on, the design will be perfect.

Is my data safe with Storydoc?

Yes, the Storydoc app is safe and secure thanks to an encrypted connection . We process your data in accordance with very strict policies.

For more information, see Terms and Conditions , and Privacy Policy .

Check out similar Storydoc tools

Engaging decks. Made easy

Make reports people wait for

Stop spending money on ineffective legacy reports. Your new amazing report is one click away!

webLyzard technology

PDF Report Generator

The PDF Report Generator creates automated summaries of analytic results based on a search query or topic definition . It makes use of webLyzard’s portfolio of high-quality visualizations to produce professionally designed PDF reports. Optimized for print, such reports widen the platform’s target group beyond the users of the interactive dashboard . Thereby, they unlock many new application scenarios.

Download a sample report on Tesla Motors

Embedded into daily workflows, automated reports often serve as weekly management updates. They are equally useful as detailed on-the-fly briefings on recent events, or to shed light on the social perceptions of an issue.

PDF Report Types

The PDF Report Generator offers a selection of five different report types. The following paragraphs summarize the available options. Independent of the chosen type, the header always contains the search term, the date range as well as the chosen sources and languages:

Trends and Associations

Two trend charts on the left show recent trends in daily coverage per sentiment category and source. A third chart on the right complements the display to compare sentiment across sources. Colored indicators represent average values, while small numbers next to the arrows indicate the change between the first and last day. In the upper right corner, two donut charts depict the overall distribution by sentiment and source. Underneath, a tag cloud  and  keyword graph  summarize the most important semantic associations with the search term.

Cross-Media Analysis

A  scatterplot and frequency-sorted table present the top sources reporting about the search term. The size of the bubbles shows the overall reach of a source. Their color ranges from red (negative) to grey (neutral) and green (positive). The table includes the top 3 keywords that a given source associates with the search term, the number of mentions, the reach of the source, the impact of the coverage (multiplying reach and the number of mentions), and the average sentiment expressed by each source.

Opinion Leadership

Similar to the cross-media analysis, the scatterplot shows how often persons were mentioned together with the search term. It also conveys whether this was done in a positive or negative context. The size of the bubbles indicates a person’s overall number of mentions in the chosen time interval, independent of the search query. The table lists the identified opinion leaders together with associated keywords, the number of co-occurrences with the search term and the average sentiment of these co-occurrences.

Geographic Distribution

The regional distribution of search results shown on a geographic map  is followed by a corresponding list of locations (countries, states or cities) that are most frequently mentioned together with the search term – including top keywords to highlight regional differences in the coverage, the number of times a specific location is mentioned together with the search term, and the average sentiment of these mentions.

Sentence Analysis

Three tables show the most recent, the most positive and the most negative sentences that contain the search term within the chosen time interval (filtering out redundant or very short sentences). The tables are followed by a word tree , which is a graph-based tool to quickly grasp the major threads in a public debate. The branches on both sides help to spot important expressions that often precede or follow the search term. Please note that the sentence analysis report is not available for asterisk (*) wildcard searches.

How to Access the PDF Report

The Export drop-down of the dashboard’s header menu provides access to the reports. Users can create individual reports or convert them into a single multi-page document. The integrated document contains all the selected report types. The PDF report generator functionality is not only available to dashboard users, but can also be embedded into external applications such as the Storypact editor.

Last major update with release 2020-06 ( Sagebrush Lizard ).

webLyzard technology is an Austrian SME founded in 2008. The unique capabilities of its big data platform are based on a strong R&D track record in the fields of knowledge extraction, artificial intelligence, visualization and the integration of geospatial and semantic Web technologies.

web·Lyz·ard

Function: intelligence platform; Etymology: composed from web (as in World Wide Web) and lyzard (as in analyzer). 1 : (broadly) enriches digital content; identified by its speed, accuracy and scalability. 2 : predicts trends to gain a deeper understanding of information flows.

Visual Tools

Trend Chart Thumbnail

Data Services

WYSDOM Success Metric Logo

Page Coming Soon - Really Soon

Transform your data into visually stunning pdf reports.

Discover the power of JSON to PDF conversion, designed to effortlessly transform your data into visually stunning PDF reports.

Report Templates VIEW API DOCUMENTATION

Customize Templates

Choose from a variety of professionally-designed templates, or create your own to match your brand identity. Personalize your reports with custom fonts, colors, and layouts.

More Details »

Dynamic Reports

Automatically populate your PDF reports with data from JSON files, ensuring accuracy and reducing the potential for human error.

High-Quality Visuals

Create eye-catching charts, tables, and graphs to effectively represent your data, and enhance your reports with images and logos.

Secure and Reliable

Your data security is our top priority. Our JSON to PDF API uses robust encryption methods to ensure your information stays confidential and secure.

Are you struggling to present complex data in a digestible format?

Do you need a solution to produce professional-looking reports without spending hours manually formatting? Look no further! Our JSON to PDF API is the perfect tool to simplify your data representation and streamline the report generation process.

Our cutting-edge JSON to PDF API enables you to seamlessly convert JSON data into elegant, customizable PDF reports. Forget about the hassle of formatting documents manually; our powerful API does it all for you, effortlessly and accurately.

dashboard

Unleash the Full Potential of Your Data

Our JSON to PDF API empowers you to create visually stunning, professional PDF reports without any coding or design skills. By automating the report generation process, you'll save time and resources, while impressing your clients, colleagues, and stakeholders with polished, data-driven insights.

Ready to transform your data into captivating PDF reports? Try our JSON to PDF API today and experience the difference for yourself!

Why Use DynamicDocs API for your Report Generation ?

Set and forget.

Use our existing LaTeX templates or write your own. Integration from Excel is straightforward and quick. Then sit back and let DynamicDocs API do the dynamic PDF generation for you!

Bring Your Data to Life

Cleanly display custom charts, logic (if statements and for loops), long tables and calculations without any formatting issues.

dashboard

Automate and Save

Save your staff time so they can focus on more important matters! No additional price for the Excel Add-in. Select the right package for your business with documents starting from as low as $0.062 per document.

Documents in an Instant

Our serverless technology creates your documents in a flash. Find your newly created documents in a specified folder on your computer.

Generate Dynamic Reports in Excel

Donec sed odio dui. Etiam porta sem malesuada magna mollis euismod.

Choose Your Template

Select your Excel to PDF spreadsheet from our existing library or build your own. Quickly embed charts, logic (if statements and for loops) and dynamic tables based on the JSON payload.

dashboard

Download Add-in & Create

Download the DynamicDocs Excel Add-In and start creating JSON payload using the built-in functions. Call the DynamicDocs API directly from Excel and instantly find the created documents in a specified folder on your computer.

Subscribe to Our Advicement Newsletter

We write about our technology, news and product releases in our newsletter. Typically we will send you product updates and articles that appear on the Advicement blog .

We’re ready to customise a PDF generating solution for your business. Reach out to us and let’s save you time and money today!

By using this website, you accept our Terms of Service . This website is run by Advicement Investment Services (Pty) Ltd, a private company registered in Republic of South Africa (Enterprise #: 2013/122231/07). All rights reserved.

© 2018 - 2024 Advicement Investment Services (Pty) Ltd "Never send a human to do a machine's job." - Agent Smith, The Matrix

Search code, repositories, users, issues, pull requests...

Provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

Free Open Source Reporting tool for .NET6/.NET Core/.NET Framework that helps your application generate document-like reports

FastReports/FastReport

Folders and files, repository files navigation.

Visits Badge

What is FastReport?

FastReport provides free open source report generator for .NET 6/.NET Core/.NET Framework. You can use the FastReport Open Source in MVC, Web API, console applications.

Image of FastReport

FastReport is written in C# and it is compatible with .NET Standard 2.0 and higher. Extendable FastReport architecture allows creating your own objects, export filters, wizards and DB engines.

Image of FastReport

Report Objects

FastReport is a band-oriented report generator. There are 13 types of bands available: Report Title, Report Summary, Page Header, Page Footer, Column Header, Column Footer, Data Header, Data, Data Footer, Group Header, Group Footer, Child and Overlay. In addition, sub-reports are fully supported.

A wide range of band types allows creating any kind of report: list, master-detail, group, multi-column, master-detail-detail and many more.

Wide range of available report objects : text, picture, line, shape, barcode, matrix, table, checkbox.

Reports can consist of several design pages, which allows reports to contain a cover, the data and a back cover, all in one file.

The Table object allows building a tabular report with variable number of rows and/or columns, just like in MS Excel. Aggregate functions are also available.

Powerful, fully configurable Matrix object that can be used to print pivot tables.

Report inheritance. For creating many reports with common elements such as titles, logos or footers you can place all the common elements in a base report and inherit all other reports from this base.

Data Sources

You can get data from XML, CSV, Json, MS SQL, MySql, Oracle, Postgres, MongoDB, Couchbase, RavenDB, SQLite.

FastReport has ability to get data from business objects of IEnumerable type.

Report can contain data sources (tables, queries, DB connections).

Thus you can not only use application-defined datasets but also connect to any database and use tables and queries directly within the report.

Internal Scripting

FastReport has a built-in script engine that supports two .NET languages, C# and VB.NET. You can use all of the .NET power in your reports to perform complex data handling and much more.

Working with report templates

You can make a report template in several ways:

Creating report from code.

Developing report template as XML file.

Using the FastReport Online Designer .

Using the FastReport Designer Community Edition (freeware). It can be downloaded from FastReport releases page .

Image of FastReport

FastReport Open Source can save documents in HTML, BMP, PNG, JPEG, GIF, TIFF, EMF.

PDF export is available as a plugin . You can see an example of its use here . If this export is not enough for you and you need a full-featured PDF export with encryption, digital signing and fonts embedding - take a look at FastReport .NET Core .

Report Designer Community Edition

To edit reports, we made a special report designer build - FastReport Designer Community Edition . The program is intended for use in the Windows operating system and contains all the limitations of the Open Source version. We do not supply the source code of the editor because it is part of the commercial product FastReport .NET . Publishing this program is our good will and our wish. The MIT license does not cover its source code.

Installation

FastReport can be compiled from sources or installed from NuGet packages .

Compilation

  • Install .NET 5 SDK for your OS from https://www.microsoft.com/net/download
  • Follow the commands

The package is located at fr_packages directory.

You can add FastReport to your current project via NuGet package manager:

The Extras folder contains additional modules that extend FastReport functionality:

  • Core/FastReport.Data - connectors to various databases;
  • OpenSource/FastReport.OpenSource.Export.PdfSimple - simple export in PDF format;
  • ReportBuilder - a simple report builder from code without using templates.

In the Demos folder you can see examples of using FastReport.

Bug Reports

See the Issues section of website. When describing the issue, please attach screenshots or examples to help reproduce the problem.

Contributors

This project exists because of all the people who have contributed and continue to work on the project:

@ATZ-FR , @Detrav , @fediachov , @8VAid8 , @KirillKornienko , @mandrookin , @ekondur , @Gromozekaster , @daviddesmet , @mjftechnology , @jonny-xhl , @radiodeer , @Des1re7 , @araujofrancisco , @conqu1stador , @pietro29 .

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Documentation

You can read the FastReport Open Source Documentation on the github site or you can read the documentation for the commercial product , amending the functionality limitations .

Licensed under the MIT license. See LICENSE.md for details. The MIT license does not cover the FastReport Designer Community Edition.

  • FastReport Open Source Blog with Articles and How-Tos
  • The Feature Comparison Table for FastReport Open Source, FastReport Core, FastReport .NET
  • FastReport Core Online Demo
  • FastReport Online Designer
  • Fast Reports Home Page

Code of conduct

Security policy, releases 29, used by 470.

@virtual360-io

Contributors 16

@FastReports-bot

  • Python GUIs
  • 1:1 Coaching
  • Search Python GUIs

PDF Report generator Generate custom PDF reports using reportlab & pdfrw

If your job involves generating PDF reports, invoices, etc. you have probably thought about automating that with Python. Python has some great libraries for working with PDF files, allowing you to read and write PDFs from scripts. But you can also use these libraries as the basic of simple GUI tools, giving you an easy way to auto-fill or edit PDF reports on the desktop.

In this tutorial we'll be using two libraries to create a custom PDF report filler. The data will be collected using a Qt form: just edit the fields, press "Generate" to get the filled out form in the folder. The two libraries we'll be using here are --

  • reportlab which allows you to create PDFs using text and drawing primitives
  • pdfrw a library for reading and extracting pages from existing PDFs

While we could use reportlab to draw the entire PDF, it's easier to design a template using external tools and then simply overlay the dynamic content on this. We can use pdfrw to read our template PDF and then extract a page, onto which we can then draw using reportlab . That allows us to overlay custom information (from our app) directly onto an existing PDF template, which we save under a new name.

In this example we're entering the fields manually, but you can modify the application to read the data for the PDF from an external CSV file & generate multiple PDFs from it.

Template PDF

For testing I've created a custom TPS report template using Google Docs and downloaded the page as PDF. The page contains a number of fields which are to be filled. In this tutorial, we'll write a PyQt form which a user can fill in and then write that data out onto the PDF at the correct place.

TPS Report

The template is in A4 format. Save it in the same folder as your script.

If you have another template you'd prefer to use, feel free to use that. Just remember that you'll need to adjust the positions of the form fields when writing it.

Laying out the Form view

Qt includes a QFormLayout layout which simplifies the process of generating simple form layouts. It works similarly to a grid, but you can add rows of elements together and strings are converted automatically to QLabel objects. Our skeleton application, including the full layout matching the template form (more or less) is shown below.

When writing tools to replace/automate paper forms, it's usually a good idea to try and mimic the layout of the paper form so it's familiar.

The above will give us the following layout in a window when run. You can already type things into the fields, but pressing the button won't do anything yet -- we haven't written the code to generate the PDF or hooked it up to the button.

The form layout

Downloadable ebook (PDF, ePub) & Complete Source code

Also available from Payhip , Gumroad , Leanpub and Amazon Paperback

Purchasing Power Parity

Generating a pdf.

For PDF generation using a base template, we'll be combining reportlab and PdfReader . The process is as follows --

  • Read in the template.pdf file using PdfReader , and extract the first page only.
  • Create a reportlab Canvas object
  • Use pdfrw.toreportlab.makerl to generate a canvas object then add it to the Canvas with canvas.doForm()
  • Draw out custom bits on the Canvas
  • Save the PDF to file

The code is shown below, this doesn't require Qt, you can save to a file and run as-is. When run the resulting PDF will be saved as result.pdf in the same folder.

Since the process of generating the PDF is doing IO, it may take some time (e.g. if we loading files off network drives). Because of this, it is better to handle this in a separate thread. We'll define this custom thread runner next.

Running the generation in a separate thread

Since each generation is an isolated job, it makes sense to use Qt's QRunner framework to handle the process -- this also makes it simple later to for example add customizable templates per job. We're using the same approach seen in the Multithreading tutorial where we use a subclass of QRunner to hold our custom run code, and implement runner-specific signals on a separate subclass of QObject .

We've defined two signals here:

  • file_saved_as which emits the filename of the saved PDF file (on success)
  • error which emits errors as a string for debugging

We need a QThreadPool to add run our custom runner on. We can add this onto our MainWindow in the __init__ block.

Now we have the generator QRunner defined, we just need to implement the generate method to create the runner, pass it the data from our form fields and the start the generation running.

In this code we first disable the generate_btn so the user can't press the button multiple times while the generation is taking place. We then construct a dictionary of data from our widgets, using the .text() method to get the text from QLineEdit widgets, .value() to get the value from the QSpinBox and .toPlainText() to get the plain text representation of the QTextEdit . We convert the numeric value to a string, since we are placing text.

To actually generate the PDF we create an instance of the Generator runner we just defined, passing in the dictionary of data. We connect the file_saved_as signal to our generated method (defined at the bottom, but not doing anything yet) and the error signal to the standard Python print function: this will automatically print any errors to the console.

Finally, we take our Generator instance and pass it to our threadpool's .start() method to queue it to run (it should start immediately). We can then hook this method up to our button in the __init__ of our main window e.g.

If you run the app now, pressing the button will trigger the generation of the PDF and the result will be saved as result.pdf in the same folder as you started the app. So far we've only placed a single block of text on the page, so let's complete the generator to write all our fields in the correct place.

Completing the generator

Next we need to finish the text placement on the template. The trick here is to work out what the per-line spacing is for your template (depends on the font size etc.) and then calculate positions relative to the first line. The y coordinates increase up the page (so 0,0 is the bottom left) so in our code before, we define the ystart for the top line and then subtract 28 for each line.

For most of our form fields we can just output the text as-is, since there are no line breaks. If the text entered is too long, then it will overflow -- but if we wanted we can limit this on the fields themselves by setting a max length in characters, e.g.

For the comments field, things are a little more tricky. The field can be much longer, and lines need to be wrapped over multiple lines in the template. The field also accepts line breaks (by pressing Enter) which cause problems when written out to the PDF.

Line breaks show up as black squares

As you can see in the above screenshot, the line breaks appear as black squares in the text. The good news is that just removing the line breaks will make it easier to wrap: we can just wrap each line to a specified number of characters.

Since the characters are variable width this isn't perfect, but it shouldn't matter. If we wrap for a line-full of the widest characters (W) any real line will fit.

Python comes with the textwrap library built in, which we can use to wrap our text, once we've stripped the newlines.

But we need to account for the first line being shorter, which we can do by wrapping first to the shorter length, re-joining the remainder, and re-wrapping it, e.g.

The comment markers on the wrap lines (45 & 55) show the wrap length needed to fit a line of Ws into the space. This is the shortest possible line, but not realistic. The values used should work with most normal text.

To do this properly we should calculate the actual size of each length of text in the document font and use that to inform the wrapper.

Once we have the lines prepared, we can print them onto the PDF by iterating through the list and decrementing the y position for each time. The spacing between the lines in our template document is 28.

This gives the following result with some sample lorem ipsum text.

Lorem ipsum wrapped

Automatically showing the result

When the file is created our runner returns the filename of the created file in a signal (currently it is always the same). It would be nice to present the resulting PDF to the user automatically, so they can check if everything looks good. On Windows we can use os.startfile to open a file with the default launcher for that type -- in this case opening the PDF with the default PDF viewer.

Since this isn't available on other platforms, we catch the error and instead show a QMessageBox

Create GUI Applications with Python & Qt6 by Martin Fitzpatrick — (PyQt6 Edition) The hands-on guide to making apps with Python — Over 10,000 copies sold!

Complete code

The complete code for PyQt5, PySide2, PyQt6 or PySide6 is shown below.

Generating from a CSV file

In the above example you need to type the data to fill in manually. This is fine if you don't have a lot of PDFs to generate, but not so much fun if you have an entire CSV file worth of data to generate reports for. In the example below, rather than present a list of form fields to the user we just ask for a source CSV file from which PDFs can be generated -- each row in the file generates a separate PDF file using the data in the file.

You can run this app using the template.pdf and this example CSV file to generate a few TPS reports.

Things to notice --

  • We now generate multiple files, so it doesn't make much sense to open them when they're finished. Instead, we always show the "complete" message, and only once. The signal file_saved_as has been renamed to finished and we've removed the filename str since it's no longer used.
  • The QLineEdit to get the filename is disabled so it's not possible to edit directly: the only way to set a source CSV file is to select the file directly, ensuring it's there.
  • We auto-generate the output filenames, based on the import filename and the current row number. The filename is taken from the input CSV: with a CSV named tps.csv files will be named tps-1.pdf , tps-2.pdf etc. Files are written out to the folder the source CSV is in.
  • Since some rows/files might miss required fields, we use .get() on the row dictionary with a default empty string.

Possible improvements

If you feel like improving on this code, there are a few things you could try

  • Make the template and output file location configurable -- use a Qt file dialogs
  • Load the field positions from a file alongside the template (JSON) so you can use the same form with multiple templates
  • Make the fields configurable -- this gets quite tricky, but you particular types ( str , datetime , int , etc.) can have specific widgets assigned to them

For a complete guide to building GUI applications with Python, see our PyQt6 tutorial . Using another library? We also have a PyQt5 tutorial , PySide6 tutorial and PySide2 tutorial .

Never miss an update

Enjoyed this? Subscribe to get new updates straight in your Inbox.

You can unsubscribe anytime. Just ham, no spam.

report generator pdf

Martin Fitzpatrick has been developing Python/Qt apps for 8 years. Building desktop applications to make data-analysis tools more user-friendly, Python was the obvious choice. Starting with Tk, later moving to wxWidgets and finally adopting PyQt.

Interested in contributing to the site? Find out more .

PDF Report generator was published in examples on March 01, 2021 (updated September 13, 2023 ) . Feedback & Corrections welcome in our public issue tracker .

pdf  pyqt5  pyqt6  pyside2  pyside6 reportlab report generator threads pyqt python qt qt5 qt6

  • PDF Templates
  • Fillable PDF Forms
  • Sign Up for Free

10 best PDF generation tools

10 best PDF generation tools

Top pdf generation tools.

  • Adobe Acrobat Pro DC
  • PDF Generator API
  • Xodo (formerly PDF Online)

PDFs are one of the most popular document formats — and for good reason. What sets a PDF apart from other types of digital documents is that it preserves the document’s original content and layout, no matter which program or device you open it with.

You can also create a PDF from almost any document type. Word documents, spreadsheets, and presentation slides can all be converted to PDFs with an effective PDF-generation tool.

However, finding the right tool can be difficult. That’s why we’ve done the hard work for you and compiled a list of the 11 best PDF-generation tools.

Jotform Smart PDF Forms

Jotform’s PDF Editor allows you to create PDFs from the responses you collect from online forms. Start by creating a PDF from Jotform’s more than 600 templates or upload an existing PDF. Just drag and drop elements to customize the design and add your branding, then connect the PDF to a form to have the responses automatically populate into your PDF.

Jotform can also transform PDFs into signable documents with Jotform Sign . Just upload your PDF to Jotform Sign or start with a template and add e-signature fields. Then, use Jotform Sign to share the PDF for signature via email, a link, or by embedding it on your website. You can even manage your signed documents with Jotform’s cloud storage integrations.

The Jotform PDF Editor is free, but there are limits on the number of forms you can create and form submissions you can collect with the free plan. If you need to create more PDF forms or collect more e-signatures, check out Jotform’s paid plans or enterprise-level plan .

Just so you know

Did you know you can generate PDFs automatically with Jotform? Our free PDF Editor instantly turns form submissions into customizable PDFs that you can easily download, share, and print!

2. Adobe Acrobat Pro DC

10 best PDF generation tools Image-1

Adobe Acrobat Pro DC is one of the top programs for generating and editing PDFs on the market. Adobe created the PDF file format in the 1990s and still retains the rights to it. More recent updates to the program’s interface has made it more intuitive for casual users.

While a free trial is available, full access requires an annual commitment to Adobe’s cloud-based subscription service.

soda pdf landing page

Soda isn’t just a PDF-creation tool. It’s actually a suite of tools that lets you edit, create, convert, sign, and share PDFs. You can create PDFs from more than 300 file formats, including images, Word documents, Excel files, and separate PDFs.

It doesn’t limit you to creating just PDFs, either. Once you’ve created a PDF, you can convert it into a range of other file types. A free trial is available, as well as a standard version that costs $6.75 per month, a pro version for $10.42 per month, and a business version for $16.67 per month.

4. FormSwift

10 best PDF generation tools Image-2

FormSwift is a free PDF-generation tool that’s best for those looking to create legal documents. The platform offers more than 1,000 templates, which you can customize and download as PDFs. You can also upload and edit existing documents and export them as PDFs.

10 best PDF generation tools Image-3

HiPDF provides an all-in-one online PDF solution that lets users create, edit, and sign PDFs. Users can create documents from more than 10 different file types and use the tool’s web app on both Windows and Mac.

You can access the basic tool online for free. The pro version starts at $8 per month and offers full access to additional features like batch processing and the platform’s desktop app.

6. Nitro Pro

10 best PDF generation tools Image-4

Nitro Pro is an enterprise PDF solution that lets users create, edit, annotate, sign, share, and store PDFs. You can create documents from a range of file formats already on your computer or directly from a scanner.

If security is a concern, Nitro lets you create PDF/A files, which preserve files exactly as they were originally created for long-term storage. Nitro offers a free trial, and pricing starts at a one-time payment of $179.99 per user billed once.

7. PDF Candy

10 best PDF generation tools Image-5

PDF Candy is a free PDF generation platform created by the team at Icecream Apps . On top of simple PDF creation, the tool also lets you add watermarks to documents, crop files, split existing PDFs, and number pages.

The tool is available to both Mac and Windows users online through a browser. Windows users can also download the free desktop app for offline access.

8. PDF Generator API

10 best PDF generation tools Image-6

PDF Generator API enables you to automatically generate personalized PDFs from your other applications’ existing data. With this tool, you can create a range of templates that can automatically merge with data from your software, using an API, or application programming interface, to create unique PDF documents instantly.

Whether you want your software to generate invoices, procurement documentation, marketing reports, or any other type of business documentation, PDF Generator API is the go-to tool.

Xodo Landing Page

If you want a fast, easy, and free way to turn your Word documents into PDFs, look no further than XODO (formerly PDF Online). The platform also allows you to create PDFs from a number of other file formats, including JPG, Excel, and PowerPoint.

10. Small PDF

10 best PDF generation tools Image-7

Small PDF is a free and simple PDF generation tool that provides the average user with everything they need to create, edit, and download documents. You can upload almost any file type for conversion. File transfers are secure, and all files are automatically deleted from the company’s servers after use.

All of these tools are perfect for generating PDFs, so no matter your choice, you can start creating PDFs with confidence. Each tool has its own unique benefits, so try a couple to see which best meets your needs.

Thank you for helping improve the Jotform Blog. 🎉

  • Jotform PDF Editor

RECOMMENDED ARTICLES

How to Edit a PDF

How to Edit a PDF

Watch our webinar: Automate your workflow with Jotform PDF Editor

Watch our webinar: Automate your workflow with Jotform PDF Editor

How to add a signature to a PDF

How to add a signature to a PDF

How to split a PDF into multiple files

How to split a PDF into multiple files

15 PDF features you need to know

15 PDF features you need to know

How to send a fillable PDF by email?

How to send a fillable PDF by email?

How to automate PDF creation with PDF Editor

How to automate PDF creation with PDF Editor

How to Create a Fillable PDF Form using Jotform

How to Create a Fillable PDF Form using Jotform

Announcing 600+ PDF templates

Announcing 600+ PDF templates

New feature: Create password protected PDFs for submission emails

New feature: Create password protected PDFs for submission emails

How to add a signature to a PDF on Mac Preview

How to add a signature to a PDF on Mac Preview

Jotform Announces New Fillable PDF Form Creator

Jotform Announces New Fillable PDF Form Creator

How to remove passwords from PDFs - Unlock PDFs

How to remove passwords from PDFs - Unlock PDFs

7 best PDF merge tools for 2024

7 best PDF merge tools for 2024

Webinar: Transform data into documents with PDF Editor

Webinar: Transform data into documents with PDF Editor

Best free PDF password remover tools

Best free PDF password remover tools

How to compress a PDF

How to compress a PDF

8 templates that will change your mind about PDFs

8 templates that will change your mind about PDFs

How to delete pages from PDF file

How to delete pages from PDF file

Introducing Jotform PDF Editor: Turn form responses into designed PDFs

Introducing Jotform PDF Editor: Turn form responses into designed PDFs

Learn to master quality control: It’s all in the details

Learn to master quality control: It’s all in the details

How to write on a PDF

How to write on a PDF

Cut back on printing: A free PDF editor to easily share PDFs

Cut back on printing: A free PDF editor to easily share PDFs

Creating fillable PDFs using Jotform

Creating fillable PDFs using Jotform

How Google is slowing innovation

How Google is slowing innovation

Top 6 Best Free PDF Signing Tools

Top 6 Best Free PDF Signing Tools

Send Comment :

 width=

2 Comments:

Eric - Profile picture

117 days ago

Hi guys, do you think you could add my service to this list? That would be awesome, and if you want us to write a blog article or something in return let us know!

Eric Malamisura - Profile picture

363 days ago

You should really include cloudlayer.io as an option.

Jotform Logo Mobile

Better Data Science

How to Create PDF Reports with Python — The Essential Guide

Create pdf reports with beautiful visualizations in 10 minutes or less.

Reports are everywhere, so any tech professional must know how to create them. It’s a tedious and time-consuming task, which makes it a perfect candidate for automation with Python.

You can benefit from an automated report generation whether you’re a data scientist or a software developer. For example, data scientists might use reports to show performance or explanations of machine learning models.

This article will teach you how to make data-visualization-based reports and save them as PDFs. To be more precise, you’ll learn how to combine multiple data visualizations (dummy sales data) into a single PDF file.

And the best thing is — it’s easier than you think!

You can download the Notebook with the source code here .

Data generation

You can’t have reports without data. That’s why you’ll have to generate some first — more on that in a bit.

Let’s start with the imports. You’ll need a bunch of things — but the FPDF library is likely the only unknown. Put simply, it’s used to create PDFs, and you’ll work with it a bit later. Refer to the following snippet for the imports:

Let’s generate some fake data next. The idea is to declare a function that returns a data frame of dummy sales data for a given month. It does that by constructing a date range for the entire month and then assigning the sales amount as a random integer within a given range.

You can use the calendar library to get the last day for any year/month combination. Here’s the entire code snippet:

A call to generate_sales_data(month=3) generated 31 data points for March of 2020. Here’s how the first couple of rows look like:

Image 1 — Sample of generated data (image by author)

Image 1 — Sample of generated data (image by author)

And that’s it — you now have a function that generates dummy sales data. Let’s see how to visualize it next.

Data visualization

Your next task is to create a function that visualizes the earlier created dataset as a line plot. It’s the most appropriate visualization type, as you’re dealing with time series data.

Here’s the function for data visualization and an example call:

In a nutshell — you’re creating data visualization, setting the title, playing around with fonts — nothing special. The visualization isn’t shown to the user but is instead saved to the machine. You’ll see later how powerful this can be.

An example call will save a data visualization for December of 2020. Here’s how it looks like:

Image 2 — Sales for December/2020 plot (image by author)

Image 2 — Sales for December/2020 plot (image by author)

And that’s your visualization function. There’s only one step remaining before you can create PDF documents, and that is to save all the visualization and define the report page structure.

Create a PDF page structure

The task now is to create a function that does the following:

  • Creates a folder for charts — deletes if it exists and re-creates it
  • Saves a data visualization for every month in 2020 except for January — so you can see how to work with different number of elements per page (feel free to include January too)
  • Creates a PDF matrix from the visualizations — a 2-dimensional matrix where a row represents a single page in the PDF report

Here’s the code snippet for the function:

It’s possibly a lot to digest, so go over it line by line. The comments should help. The idea behind sorting is to obtain the month integer representation from the string — e.g., 3 from “3.png” and use this value to sort the charts. Delete this line if the order doesn’t matter, but that’s not the case with months.

Here’s an example call of the construct() function:

You should see the following in your Notebook after running the above snippet:

Image 3 — Generated visualizations (image by author)

Image 3 — Generated visualizations (image by author)

In case you’re wondering — here’s how the plots/ folder looks on my machine (after calling the construct() function):

Image 4 — PDF report content matrix (image by author)

Image 4 — PDF report content matrix (image by author)

And that’s all you need to construct PDF reports — you’ll learn how to do that next.

Create PDF reports

This is where everything comes together. You’ll now create a custom PDF class that inherits from the FPDF . This way, all properties and methods are available in our class, if you don’t forget to call super().__init__() in the constructor. The constructor will also hold values for page width and height (A4 paper).

Your PDF class will have a couple of methods:

  • header() – used to define the document header. A custom logo is placed on the left (make sure to have one or delete this code line), and a hardcoded text is placed on the right
  • footer() – used to define the document footer. It will simply show the page number
  • page_body() – used to define how the page looks like. This will depend on the number of visualizations shown per page, so positions are margins are set accordingly (feel free to play around with the values)
  • print_page() – used to add a blank page and fill it with content

Here’s the entire code snippet for the class:

Now it’s time to instantiate it and to append pages from the 2-dimensional content matrix:

The above cell will take some time to execute, and will return an empty string when done. That’s expected, as your report is saved to the folder where the Notebook is stored.

Here’s how to first page of the report should look like:

Image 5 — First page of the PDF report (image by author)

Image 5 — First page of the PDF report (image by author)

Of course, yours will look different due to the different logo and due to sales data being completely random.

And that’s how you create data-visualization-powered PDF reports with Python. Let’s wrap things up next.

You’ve learned many things today — how to create dummy data for any occasion, how to visualize it, and how to embed visualizations into a single PDF report. Embedding your visualizations will require minimal code changes — mostly for positioning and margins.

Let me know if you’d like to see a guide for automated report creation based on machine learning model interpretations (SHAP or LIME) or something else related to data science.

Thanks for reading.

  • Python If-Else Statement in One Line - Ternary Operator Explained
  • Python Structural Pattern Matching - Top 3 Use Cases to Get You Started
  • Dask Delayed - How to Parallelize Your Python Code With Ease

Stay connected

  • Sign up for my newsletter
  • Subscribe on YouTube
  • Connect on LinkedIn

You are using an outdated browser. Please upgrade your browser to improve your experience and security.

PDF Reports: The Ultimate Guide

Published: March 29, 2023

Why PDF Reports Matter: An Overview

PDF reports can be extremely valuable, especially when you or your team need to make big decisions. In the business world, presentation often matters, especially when you want to drive home a point. PDF reports allow you to do that by simplifying data insights with alluring aesthetics, helping to make decisions easier and quicker.

In fact, many developers consistently rely on PDF reports because they’re customizable, easy to generate, flexible in design, and provide steady formatting . With the right set of tools and techniques in place, they can be a game-changer for you, your operations, and your data-driven decision-making.

In this overview, we’ll guide you through everything you need to know about creating high-quality PDF reports, from code libraries to custom generators, design elements to templates, and even use cases. Let’s get started.

Table of Contents

Designing effective pdf reports for your audience.

Key Design Elements for Developer-friendly PDF Reports

Customizing PDF Reports for Different Audiences or Purposes

PDF Reports: Example Use Cases & Application By Industry

Finding and Using PDF Report Templates

What is a PDF Report Template?

Examples and Popular Sources for PDF Report Templates

Tips for using pdf report templates effectively, creating pdf reports: code libraries, custom generators, and reporting tools, using code libraries to generate pdf reports, custom pdf report generators, leveraging pdf reporting tools for your project.

PDF Reports: Key Takeaways and Next Steps

Designing an effective PDF report begins with a thorough understanding of your audience - who they are and what they care about. Translating that message via the design of your PDF report is a common challenge. Here are a few things to consider:

Key Design Elements for PDF Reports

Font and Typography : Choosing a font that’s easy to read and legible keeps your audience focused on your message. [Note: using too many fonts in your PDF report can be a distraction]

Communication : When designing a PDF report, relay your message succinctly. Focus on takeaways - do you need graphs, charts, or other designs to make your point?

Document structure and layout : To optimize your PDF report for readability, pay attention to the size and orientation of the page, margins, spacing, color scheme, etc. and how this relates to the message you want to convey

Navigation : Consider a table of contents and internal links if your PDF report is beyond 7 pages. Doing so will help your audience easily navigate and bookmark certain aspects of your PDF report, improving the overall experience

Security : If the PDF report is being used externally, consider improving the security of your PDF report via password protection, encryption, digital signature, redaction to remove sensitive data, and watermarking. To learn more, visit Adobe’s PDF security page or UniDoc’s PDF security capabilities if you’re creating a PDF in Go.

Data and file size : Compressing your PDF report can help improve the user experience and responsiveness, especially if viewed on a mobile device. No one likes long loading times.

Customizing a PDF report can enhance the visual perception and clarity of your message . But it’s important to know when to customize it, and when not to.

An internal PDF report that graphically depicts an employee’s payment history for software purchases, for example, can be helpful for tracking purposes. However, the same PDF report used externally as an invoice may require PDF encryption and digital signatures to protect sensitive financial information.

It may also be wise to modify the layout and design of a PDF report for better aesthetic and navigational purposes. For instance, using appropriate color hues to highlight key data points or breaking up dense information into easily digestible charts and graphs can improve the user experience and make the PDF report more effective .

Lastly, a PDF report generated by a healthcare provider, for example, may need to adhere to HIPAA regulations to properly protect patient data. This could involve implementing redaction and only displaying necessary information on the PDF report to ensure patient privacy.

Overall, customizing PDF reports requires careful consideration of the report’s purpose and audience. With the right approach, it can help you better communicate key insights, drive action, and achieve your business objectives with your PDF report.

PDF Reports: Example Use Cases and Application by Industry

PDF reports are used in a number of different industries, and for a variety of reasons. Here are some common use cases based on popular industries:

PDF report templates can streamline your efficiency. They often require a bit of customization, but if you’re comfortable, it’s much easier to “hit the ground running.”

What is a PDF report template?

A PDF report template is a pre-designed framework built to accelerate a PDF report’s creation and design. It typically includes placeholders for text, tables, graphics, charts, and images, and may also include predefined styles and formatting options, such as layout, design, and structure .

Maroto is an open-source PDF library that can help you generate complex PDF reports quickly without worrying about the underlying format. It’s easy to add images, text, tables, and other content to a PDF report with a single function call.

DocRaptor allows you to quickly generate PDFs from HTML, CSS, and JavaScript code. It’s often preferred by developers who want comprehensive formatting options (e.g., page layout, fonts, styles, media, etc.), making it easy to create visually stunning and responsive PDF reports on any device

PDF Generator API

PDF Generator API is cloud-based, and enables you to create PDF reports from a wide range of programming languages, including Java, .NET, PHP, Python, and Ruby, which also makes it easy to integrate PDF reports within existing applications and workflows

UniDoc UniPDF

UniDoc’s UniPDF is a professional library that can help you create, read, and edit PDF reports all-in-one. Like Moroto and DocRaptor, you can quickly and easily add text, images, tables , annotations , and more to PDFs. See the entire list of PDF report templates in GitHub

Part of creating a successful PDF report is knowing how to avoid certain pitfalls. Here are some common mistakes to stay away from :

Not customizing the template fully

Overcomplicating the design

Not testing the template beforehand

Failing to regularly update the template

Improper/Suboptimal formatting

Instead, keep these simple tips in mind :

Customize your template and look clear instructions for customization and use

Ensure the formatting fully supports your needs and aligns with your company’s brand guidelines before you get started

Regularly update your PDF reporting template to ensure that it stays relevant

Aim for templates that can help you scale easily, and keep your file size low (< 5MB)

Keep things simple - straightforward templates without a lot of bells and whistles keep your readers focused on your main points

PDF report templates are great for getting started quickly, but to help you create professional-grade PDF reports with more flexibility and customization options, you may want to consider code libraries, custom generators, or PDF reporting tools .

Code libraries can help you accelerate PDF report generation , and can often be a quick and efficient solution. They’re easy to integrate into your applications, but do require a bit of technical expertise. Here are a few options:

iText, a Java-based library, offers extensive support for PDF manipulation and generation as well as low-level control over PDF content. Creating and editing PDF documents can be easier than most, but pricing can sometimes get in the way.

jsPDF is a JavaScript library that offers client-side PDF report generation. It has an easy-to-use API, is lightweight, and supports custom fonts. But you may experience limitations if you’re generating large-scale PDF reports with advanced formatting.

PSPDFKit provides support for generating, editing, and collaborating on commercial-grade PDFs. It has very strong performance and provides deep support with a diverse range of features. However, it comes at a premium price point, and some features may require additional licensing.

UniDoc offers professional Go libraries that provide exceptional support for PDF generation and manipulation. Its biggest strengths include: low-level control over PDF content, top-notch performance at a reasonable cost, and support for advanced PDF report features, such as text extraction , PDF compression , tables and graphs, encryption, digital signatures , watermarking , form filling , and more. See an example for automating PDF invoices here.

Apryse (formerly PDFTron)

Apryse is a commercial PDF library that boasts a robust set of features and good performance, yet often can come with a hefty price tag. Further, you may run into a higher price point if you need more advanced features, such as additional integrations or custom branding.

Sometimes you’ll need more customization for your PDF report than what’s provided in a code library (e.g., custom layouts and formatting). If that’s the case, you may want to consider building a custom PDF report generator.

However, building a custom PDF report generator an advanced technique and can be time-consuming . While we won’t discuss how to do that, here are a few helpful thoughts to point you in the right direction (see below).

Two well-known open-source PDF manipulation libraries are Apache PDFBox and MuPDF . Both offer good support for adding text, images, and annotations to your PDF report, plus more advanced features (e.g., merging, splitting, and extracting pages from existing PDF documents).

In the same vein, if you’re looking to enhance the functionality of your PDF reports via tables, charts, and graphics, check out JasperReports or Docmosis . They offer various options for generating professional-looking PDF reports with advanced design features.

If working with a code library is a bit too difficult, you may consider a PDF reporting tool, which offers drag-and-drop functionality and a user-friendly interface to help you generate PDF reports (and customize them too).

However, one drawback is that they may require high processing power and storage space . That said, here are three PDF reporting tools to consider:

Business Intelligence and Reporting Tools (BIRT)

BIRT is open-source and enables you to easily create complex PDF reports (including charts, graphs, tables, etc.) and customize them as needed. It offers an extensive range of formatting options, and even allows you to embed dynamic content into your PDF report (e.g., images).

Pentaho Reporting

Pentaho Reporting is a BI and reporting tool similar to BIRT, yet it also supports a number of different formats (e.g., HTML, PDF, Excel) and can connect to a wide range of data sources, such as databases and XML files. Pentaho also offers other tools, such as data integration and analytics, that can be integrated for a complete end-to-end solution.

Apache FOP is a Java-based open-source PDF reporting tool in which you can create intricate designs for professional-looking reports. You’ll also have access to a broad range of formatting and layout options, making it easy to create your PDF report.

To integrate a PDF reporting tool, you may need to use APIs, deploy a server, or add specific dependencies - check the tool’s documentation and guides for specific help.

PDF Reports: Key Takeaways

PDF reports simplify data insights and help your audience make easier, faster decisions when created effectively.

Designing an effective PDF report requires leveraging design elements (e.g., font and typography, structure, navigation, etc.) to help your message resonate stronger

Customizing your PDF report enhances the visual perception and clarity of your message. This can be done via modifying the layout and design, adding charts and graphs, etc.

PDF report templates can streamline your efficiency, but the drawback is less flexibility and customization than code libraries and PDF reporting tools.

Using code libraries, custom generators, and tools for your PDF report can give you an upper hand. However, each comes with its own advantages and disadvantages. Choosing the right one depends on your needs, skill level, and resources.

In conclusion, by following these guidelines and takeaways, you can create high-quality PDF reports that effectively communicate key insights, drive action, and help you achieve your business objectives.

More articles:

Creating pdf reports in golang, empower your teams with annotations on pdf, watermarking pdfs in go with unipdf, ready to get started.

report generator pdf

Create PDF Report with the best online PDF tool suite

By Aravindan Dhanapal | Convert to PDF

Create PDF Report with the best online PDF tool suite

What’s the best way to generate a single PDF report from multiple files?

Say your text is in Microsoft Word. Your spreadsheet data is in Excel. There are also some images and you require a cover page.

Is there a simple way to merge all this information into one PDF? And can you edit the new file easily?

This article looks at our online PDF converter software and how it can help create the perfect PDF report.

You’ll learn how to upload and convert multiple files at once. Then you’ll discover how to merge them into a single PDF file and organize each page. You can even rotate images, add annotations, and edit everything to suit your needs.

Read on to discover how simple it is to create a PDF report using PDF4me.

Create PDF Report faster

Why a PDF Report?

Perhaps you’ve used Microsoft Word or Apple’s Pages to write your report. Then your boss or tutor demands it to be sent in PDF format.

What’s so special about a PDF that everyone seems to use it?

PDF or Portable Document Format is the most recognized file format that any type of computing device can open and view.

A PDF will look identical on a Mac, PC, Android phone, or Chromebook. Unlike Word or Excel documents, fonts and images always appear the same way no matter the device or OS. There’s no cost to view a PDF and lots of free PDF reader apps exist to do just that.

Most businesses, colleges, and schools prefer their workers and students to convert reports to PDF. That way, everyone works with exactly the same document as it was intended to be viewed.

Gather Documents to Convert to PDF

Converting one document into a PDF is extremely easy. It becomes more of an issue when the report consists of several files and types that aren’t joined together.

The first step to create a PDF report is to gather all the information in one place if possible. Although our free online PDF converter software can import files from almost anywhere it’s better to get organized.

Copy or move your Excel spreadsheets, JPEGs, and word processing docs into one folder. That way, everything’s centralized.

Then think of how you want the final product to look .

Will your report have a cover page? What about the contents section? How will spreadsheet info slot in and where will the images go?

Once you have a plan in place it’s time to use the PDF converter to create your report.

PDF4me Free Online PDF Converter

The PDF4me converter merges and creates your PDF report in 5 simple steps:

  • Choose and upload your files
  • Select the optimization level
  • Choose the merge option
  • Re-arrange your document pages if required
  • Convert to PDF

The first step is to visit our website homepage PDF4me.com and select the PDF Converter option.

Either tap the plus symbol or drag-and-drop up to 4 documents to begin uploading. Pro customers can select up to 20. You can also import files from Google Drive and Dropbox.

Our software gives you the option to optimize your PDF report for the web or choose the maximum file compression. Select ‘None’ for no compression.

At this point, you can choose to merge your files into one PDF.

On the right of the screen beneath the compression options, select the Merge PDF output files into single PDF option. The list on the left will change to show each file’s page order.

Click and drag a file up or down to rearrange its order. When everything looks good, click the ‘Start Convert’ button to begin converting your PDF.

Merge PDF Conversion Complete

The PDF conversion process takes several seconds if you have a fast Internet connection. Our software displays a ‘Job Completed’ message when converting’s finished.

PDF4me makes it easy to download, export, and share your new PDF report.

Tap the download button to save it to your device. Or choose Google Drive or Dropbox to send it to those Cloud file apps. You can also attach your report in an email or copy a shareable link.

You now have a fully merged PDF report made from multiple documents.

But what if you need more control over your PDF? How can alter the page layout and edit the contents including adding highlights and shapes?

Edit PDF Report

PDF4me boasts a full editing suite so you can change and manage your PDFs online.

Tap the preview magnifying glass icon beneath the red cloud. This will open the Edit PDF screen.

The toolbar on the left lets you:

  • Add comments/annotations
  • Color highlight text
  • Draw and add shapes
  • Insert images

PDF4me’s powerful features turn your portrait view into a landscape with one single click. You can delete pages and if you make a mistake it’s easy to restore them. The options menu also lets you invert your selection.

Organize PDF Report

The Job Completed screen offers a wealth of additional options to work with your merged PDF report.

Tap the Organize Pages button.

This screen shows the order of each page of your new PDF. To edit, simply drag a page and drop it where you want.

If you need to move multiple pages hold down the Ctrl key (Windows users) or the Command key (Mac users) . Each selected page has a red border. You can then drag your selection to order your report.

Need to rotate a page? Or delete one from your new report?

Best Online PDF Converter

Creating a PDF report doesn’t have to be difficult.

Using our PDF converter , you can upload Word to PDF, Excel to PDF, and most major file formats. Our software then lets you organize pages and edit them until you’re happy.

You can then download the PDF report, share it online, or save it to your Cloud accounts. But that’s just the beginning.

PDF4me boasts many useful features to help enhance your PDFs.

You can sign, split, compress, protect, and add watermarks and QR codes. Preview your document before downloading it. Or convert it to another file format – the choice is yours!

PDF4me lets you convert two files each hour for free. If you require unlimited usage our Pro license is just $6 per month .

Creating and editing PDF reports is simple and powerful with PDF4me.

Related Blog Posts

Convert in bulk images into PDF using Image to PDF tool

Convert in bulk images into PDF using Image to PDF tool

Convert PNG to PDF using Image to PDF Converter

Convert PNG to PDF using Image to PDF Converter

Convert XLSX to PDF with Excel to PDF converter

Convert XLSX to PDF with Excel to PDF converter

We use cookies to personalise content and ads and to analyse our traffic. You consent to our cookies if you continue to use our website. For more information, please see our privacy policy .

supertype consultancy

Analytics Products & Services

Data analytics and data engineering services

Data Science by Applications

Implementations of data science in various industries

Bespoke solution for enterprises

Advisory & consulting, portfolio & highlights.

Curation of featured projects and enterprise work

Data Engineering

Technical articles by data engineers & automation developers solving real-world problems

Data Science

Articles and first hand observations by data scientists & analytics experts in the field

Full-Cycle Data Science Consultancy

Data science & analytics consulting.

></center></p><h2>Automated Report Generation with Supertype Summary , a done-for-you programmatic PDF generation service.</h2><p>Supertype Summary creates a highly tailored pipeline that output bespoke PDF in seconds, not days or hours.</p><p>Because your time is too valuable to be looking for insights from millions of data points across multiple services, Summary consolidates your most important data feeds and puts them all in a digestible, insightful, actionable format — delivered to your inbox on a schedule that works for you.</p><h2>Programmatic Report Generation, in seconds.</h2><p>Supertype Summary connects with your first-party data feeds (in-house database, API etc) or third party data sources (AppStore, e-Commerce analytics, payment service, API subscriptions etc). </p><p>It analyzes the data, and organize them into actionable sections of information spread across beautifully crafted PDF pages. To achieve this task Supertype Summary uses state-of-art NLP and custom-train AI models so all reports are truly one of a kind, especially crafted to maximize business value for you.</p><p><center><img style=

Mobile App Publishers & Agencies

Build comprehensive PDFs plugged to first-party data sources (AppsFlyer, Adjust, etc) or third-party data streams like the AppStore or Google Play Store and rely on our intelligent topic clustering AI to turn millions of user reviews and other data points into actionable feedback, weighted by their impact to your app ratings.

e-Commerce & Brand Owners

Combine data from the various e-commerce channels to get a consolidated PDF so you can keep tabs on inventory, profitability, SKU availability, promotions and discounts in a nicely formatted, regularly updated document right in your inbox.

Social Media Managers & Ad Agencies

No more manual report creation -- Supertype Summary pulls data directly from your brand's social media pages and ad accounts to bring you updated numbers on your brand engagement, ads performance, and key insights.

Product and Dev Ops

Connect with DevOps and Product Analytics like Firebase and Sentry to receive automated, scheduled reports giving you an overview of your software's general availability, reliability and usability.

Investors and Fund managers

Generate thousands of personalized reports or recommendations for your clients, where historical stock performance, benchmark indexes, diversification analysis, geopolitical analysis, short-term sentiment and other market indicators are regularly delivered to your clients' mailbox.

report generator pdf

The programmatic report generator [Summary] that Supertype created was very helpful in helping us engage with our mobile app clients, and in opening conversations. Most of all, the charts it generate looks gorgeous and the topic identification model is spot on!

Yair Yaskerovitch

VP Media, Zoomd Technologies (ZOMD.V, ZMDTF)

How Does it Work?

Not just any automated report. Supertype Summary is built with state-of-the-art NLP / language models and an automatic, proprietary insights discovery process. Our data scientists and engineers work with you to define the data feeds for your PDF report generation pipeline, and develop the automation alongside your feedback.

1 Data Feeds

Web scraping & data collection.

A common source of data for automated reports is web scraping. We're specialists in building automated scripts that periodically collect data from the web , no matter how complex the task.

In-house database Connection

By connecting to your database or saved SQL queries , Supertype Summary can generate pages of insights that are always up-to-date with your internal data, keep these analytics and reports in-sync as new data flows in.

Third Party API

To generate these programmatic reports, you may need to connect to data sources using 3rd party APIs. Examples of these are social media APIs , stock market data APIs, and other readily available APIs .

2 PDF Components

Tabular, charts, or narrative.

Each slide in the PDF could contain elements such as a well-formatted table, purpose narrative text generated from our Language Generation AI, or stunning visuals in your chosen color palette.

Natural Language AI

You may wish to include sentiment analysis on user reviews, e-commerce shoppers' feedback, social media comments or just about any textual input. These uses state of the art AI models custom-trained on your data on our cloud GPU server.

Predictive Analytics & ML Pipeline

Execute custom-trained or pre-trained machine learning routines before embedding the results directly in the programmatic PDF. This way, predictive analytics are always interpreted in-context.

Automatic Insights Discovery

Using a series of machine learning models, our data scientists can incorporate insights discovery as a downstream from the data feeds. These help unearth interesting patterns, highlights correlations, and separate signals from the noise.

3 Delivery & Automation

Scheduled email delivery.

Your programmatically created PDF could be run and executed on a given schedule, complete with automatic mail delivery so they arrive in yours -- or your clients' -- inbox without manual labor.

White-Label & Agency-friendly

Add custom pages onto the programmatic PDF for call-to-action, sales offer, or enquiry channel. This works great for agencies and consultancies that generate hundreds of automatic reports for sales prospecting.

Custom Logo & Branding Styles

Technical documents and reports, even if they're automatic, doesn't have to all look the same. Our engineers are happy to work in close consultation with you to implement a branding style that is truly yours.

Bespoke Solution without compromise

From guided on-boarding, followed by tailor-made solution delivery, to a fully personalized consuting experience.

Schedule a Demo

Schedule a call with us to see Supertype Summary in action and explore how our done-for-you programmatic reporting service could save you lots in manpower.

data analytics consulting and services deck

Read about our processes

Data science for app review analysis.

Working with app review analytics: the data science methodologies, tools and problem-solving frameworks you need to make sense of customer reviews

Decision boundaries with PCA and FAMD

Multiple approaches to dimensionality reduction for pattern discovery, visualization and drawing decision boundaries (PCA, FAMD, PCAmix)

Topic Extraction from Text

A journal entry on topic extraction from text (app reviews, e-commerce text reviews), using supervised, unsupervised and semi-supervised approaches

mobile game data analysis

Hire a Data Analyst

A flat-fee, monthly pay-as-you-go service that tie your business up with one or more data analyst(s) well versed with the different aspects of mobile app / game publishing. Most compatible with mobile app taking their first steps into implementing data-driven processes and machine learning experiments.

report generator pdf

Business Intelligence

Custom analytics dashboard that brings together data from your user acquisition team, monetization team, in-app analytics SDK and everything else. Includes an audit of your existing processes, design, planning and development of your own analytics system. One-time pricing.

  • Mailing List

Practical Business Python

Taking care of business, one python script at a time

Creating PDF Reports with Pandas, Jinja and WeasyPrint

Posted by Chris Moffitt in articles   

Introduction

Pandas is excellent at manipulating large amounts of data and summarizing it in multiple text and visual representations. Without much effort, pandas supports output to CSV , Excel, HTML , json and more. Where things get more difficult is if you want to combine multiple pieces of data into one document. For example, if you want to put two DataFrames on one Excel sheet, you need to use the Excel libraries to manually construct your output. It is certainly possible but not simple. This article will describe one method to combine multiple pieces of information into an HTML template and then converting it to a standalone PDF document using Jinja templates and WeasyPrint .

Before going too far through this article, I would recommend that you review the previous articles on Pandas Pivot Tables and the follow-on article on generating Excel reports from these tables. They explain the data set I am using and how to work with pivot tables.

The Process

As shown in the reporting article , it is very convenient to use Pandas to output data into multiple sheets in an Excel file or create multiple Excel files from pandas DataFrames. However, if you would like to combine multiple pieces of information into a single file, there are not many simple ways to do it straight from Pandas. Fortunately, the python environment has many options to help us out.

In this article, I’m going to use the following process flow to create a multi-page PDF  document.

Tool pipeline for generating PDF

The nice thing about this approach is that you can substitute your own tools into this workflow. Don’t like Jinja? Plug in mako or your templating tool of choice. If you want to use another type of markup outside of HTML , go for it.

First, I decided to use HTML as the templating language because it is probably the simplest way to generate structured data and allow for relatively rich formatting. I also think everyone knows (or can figure out) enough HTML to generate a simple report. Also, I don’t have the desire to learn a whole new templating language. However, if you choose to use other markup languages, the flow should work the same.

I chose Jinja because I have experience with Django and it closely mirrors Django’s syntax. There are certainly other options out there so feel free to experiment with your options. I think for this approach there is nothing very complicated about our templates so any tool should work fine.

Finally, the most difficult part of this tool chain is figuring out how to render the HTML into PDF . I don’t feel like there is an optimal solution yet but I chose WeasyPrint because it is still being actively maintained and I found that I could get it working relatively easily. There are quite a few dependencies for it to work so I’ll be curious if people have any real challenges getting it to work on Windows. As an alternative, I have used xhtml2pdf in the past and it works well too. Unfortunately the documentation is a little lacking at this time but it has been around for a while and does generate PDF ’s effectively from HTML .

As discussed above, we’ll use the same data from my previous articles. In order to keep this all a self-contained article, here is how I import the data and generate a pivot table as well as some summary statistics of the average quantity and price of the CPU and Software sales.

Import modules, and read in the sales funnel information.

Pivot the data to summarize.

Generate some overall descriptive statistics about the entire data set. In this case, we want to show the average quantity and price for CPU and Software sales.

Ideally what we would like to do now is to split our data up by manager and include some of the summary statistics on a page to help understand how the individual results compare to the national averages.

DataFrame Options

I have one quick aside before we talk templates. For some quick and dirty needs, sometimes all you need to do is copy and paste the data. Fortunately a DataFrame has a to_clipboard() function that will copy the whole DataFrame to the clipboard which you can then easily paste into Excel. I have found this to be a really helpful option in certain situations.

The other option we will use later in the template is the to_html() which will generate a string containing a fully composed HTML table with minimal styling applied.

Jinja templating is very powerful and supports a lot of advanced features such as sandboxed execution and auto-escaping that are not necessary for this application. These capabilities however will serve you well as your reports grow more complex or you choose to use Jinja for your web apps.

The other nice feature of Jinja is that it includes multiple builtin filters which will allow us to format some of our data in a way that is difficult to do within Pandas.

In order to use Jinja in our application, we need to do 3 things:

  • Create a template
  • Add variables into the templates context
  • Render the template into HTML

Here is a very simple template, let’s call it myreport.html  :

The two keys portions of this code are the {{ title }} and {{ national_pivot_table }} . They are essentially placeholders for variables that we will provide when we render the document.

To populate those variable, we need to create a Jinja environment and get our template:

In the example above, I am assuming that the template is in the current directory but you could put the full path to a template location.

The other key component is the creation of env . This variable is how we pass content to our template. We create a dictionary called template_var that contains all the variable we want to pass to the template.

Note how the names of the variables match our templates.

The final step is to render the HTML with the variables included in the output. This will create a string that we will eventually pass to our PDF creation engine.

For the sake of brevity, I won’t show the full HTML but you should get the idea.

Generate PDF

The PDF creation portion is relatively simple as well. We need to do some imports and pass a string to the PDF  generator.

This command creates a PDF report that looks something like this:

Unstyled pivot table output

Ugh. It’s cool that it’s a PDF but it is ugly. The main problem is that we don’t have any styling on it. The mechanism we have to use to style is CSS .

As an aside, I really don’t like CSS . Every time I start playing with it I feel like I spend more time monkeying with the presentation than I did getting the data summarized. I am open to ideas on how to make this look nicer but in the end, I decided to go the route of using a portion of blueprint CSS to have very simple styling that would work with the rendering engines.

For the rest of the article, I’ll be using blue print’s typography.css as the basis for my style.css shown below. What I like about this css is:

  • It is relatively small and easy to understand
  • It works will in the PDF engines without throwing errors and warnings
  • It includes basic table formatting that looks pretty decent

Let’s try re-rendering it with our updated stylesheet:

Styled pivot table output

Just adding a simple stylesheet makes a huge difference!

There is still a lot more you can do with it but this shows how to make it at least serviceable for a start. As an aside, I think it would be pretty cool if someone that knew CSS way better than me developed an open sourced, simple CSS sheet we could use for report generation like this.

More Complex Templating

Up until now, we haven’t done anything different than if we had just generated a simple Excel sheet using to_excel() on a DataFrame.

In order to generate a more useful report, we are going to combine the summary statistics shown above as well as break out the report to include a separate PDF page per manager.

Let’s start with the updated template ( myreport.html ):

The first thing you’ll notice is that there is an include statement which mentions another file. The include allows us to bring in a snippet of HTML and use it repeteadly in different portions of the code. In this case the summary contains some simple national level stats we want to include on each report so that the managers can compare their performance to the national average.

Here is what summary.html looks like:

In this snippet, you’ll see that there are some additional variables we have access to: CPU and Software . Each of these is a python list that includes the average quantity and price for CPU and Software sales.

You may also notice that we use a pipe | to round each value to 1 decimal place. This is one specific example of the use of Jinja’s filters.

There is also a for loop that allows us to display the details for each manager in our report. Jinja’s template language only includes a very small subset of code that alters the control flow. Basic for-loops are a mainstay of almost any template so they should make sense to most of you.

I want to call out one final piece of code that looks a little out of place:

This is a simple CSS directive that I put in to make sure the CSS breaks on each page. I had to do a little digging to figure out the best way to make the pages break so I thought I would include it to help others out.

Additional Stats

Now that we have gone through the templates, here is how to create the additional context variables used in the templates.

Here is a simple summary function:

We also need to create the manager details:

Finally, call the template with these variables:

Here is the final PDF Report . I think it looks pretty decent for a simple report.

Ideas For Improvements

In the example above, we used the simple to_html() to generate our HTML . I suspect that when you start to do more of these you will want to have finer grained control over the output of your table.

There are a couple of options :

  • Pass a custom css class to_html using classes
  • Use formatters to format the data
  • Pass the data directly to your template and use iterrows to manually construct your table

Final Program

In order to pull it all together, here is the full program:

You can also view the gist if you are interested amd download a zip file of myreport.html , style.css and summary.html if you find it helpful.

Thanks for reading all the way to the end. As always, feedback is appreciated.

  • ← Generating Excel Reports from a Pandas Pivot Table
  • Generating fake data with barnum →

Subscribe to the mailing list

Submit a topic.

  • Suggest a topic for a post
  • Pandas Pivot Table Explained
  • Common Excel Tasks Demonstrated in Pandas
  • Overview of Python Visualization Tools
  • Guide to Encoding Categorical Values in Python
  • Overview of Pandas Data Types

Article Roadmap

We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.

PSF Supporting Member

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Export a paginated report to a PDF File (Report Builder)

  • 9 contributors

The PDF rendering extension renders paginated reports to files that can be opened in Adobe Acrobat and other third-party PDF viewers that support PDF 1.3. Although PDF 1.3 is compatible with Adobe Acrobat 4.0 and later versions, Reporting Services supports Adobe Acrobat 11.0 or later. The rendering extension does not require Adobe software to render the report. However, PDF viewers such as Adobe Acrobat are required to view or print a report in PDF format.

The PDF rendering extension supports ANSI characters and can translate Unicode characters from Japanese, Korean, Traditional Chinese, Simplified Chinese, Cyrillic, Hebrew, and Arabic with certain limitations. For more information about the limitations, see Export Reports (Report Builder and SSRS) . The PDF rendering extension also conforms to ISO 14289-1 (PDF/UA) standards for Accessible PDF. See PDF Rendering Extension conformance to ISO 14289-1, Power BI Report Server & SSRS for details.

The PDF renderer is a physical page renderer and, therefore, has pagination behavior that differs from other renderers such as HTML and Excel. This topic provides PDF renderer-specific information and describes exceptions to the rules.

You can create and modify paginated report definition (.rdl) files in Microsoft Report Builder, Power BI Report Builder , and in Report Designer in SQL Server Data Tools.

Font Embedding

When possible, the PDF rendering extension embeds the subset of each font that is needed to display the report in the PDF file. Fonts that are used in the report must be installed on the report server. When the report server generates a report in PDF format, it uses the information stored in the font referenced by the report to create character mappings within the PDF file. If the referenced font is not installed on the report server, the resulting PDF file might not contain the correct mappings and might not display correctly when viewed.

Fonts are embedded in the PDF file when the following conditions apply:

Font embedding privileges are granted by the font author. Installed fonts include a property that indicates whether the font author intends to allow embedding a font in a document. If the property value is EMBED_NOEMBEDDING, the font is not embedded in the PDF file. For more information, see "TTGetEmbeddingType" on msdn.microsoft.com.

The Font is TrueType.

Fonts are referenced by visible items in a report. If a font is referenced by an item that has the Hidden property set to True, the font is not needed to display rendered data and will not be included in the file. Fonts are embedded only when they are needed to display the rendered report data.

If all of these conditions are met for a font, the font is embedded in the PDF file. If one or more of these conditions is not met, the font is not embedded in the PDF file.

Although the conditions are met, there is one circumstance under which fonts are not embedded in the PDF file. If the fonts used are the ones in the PDF specification that are commonly known as standard type 1 fonts or the base fourteen fonts, then fonts are not embedded for ANSI content.

Fonts on the Client Computer

When a font is embedded in the PDF file, the computer that is used to view the report (the client computer) does not need to have the font installed for the report to display correctly.

When a font is not embedded in the PDF file, the client computer must have the correct font installed for the report to display correctly. If the font is not installed on the client computer, the PDF file displays a question mark character (?) for unsupported characters.

Verify Fonts in a PDF File

Differences in PDF output occur most often when a font that does not support non-Latin characters is used in a report and then non-Latin characters are added to the report. You should test the PDF rendering output on both the report server and the client computers to verify that the report renders correctly.

Don't rely on viewing the report in Preview or exporting to HTML. The report will look correct due to automatic font substitution performed by Report Builder or by the browser, respectively. If Unicode Glyphs are missing on the server, you may see characters replaced with a question mark (?). If a font is missing on the client, you may see characters replaced with boxes (□).

The fonts that are embedded in the PDF file are included in the Fonts property that is saved with the file, as metadata.

Windows 10 and 11 introduced a recommended Universal Windows Platform (UWP) font set that's common across all editions that support UWP, including Desktop, Server, and Xbox. Check this list for supported fonts: Font List Windows 11 - Typography | Microsoft Docs .

When using paginated reports in the Power BI service and exporting to a PDF file, the only fonts supported are those included in the Introduction font list of Font List Windows 11 - Typography | Microsoft Docs .

In addition to the report layout, the PDF rendering extension writes the following metadata to the PDF Document Information Dictionary.

Interactivity

Some interactive elements are supported in PDF. The following is a description of specific behaviors.

Show and Hide

Dynamic show and hide elements are not supported in PDF. The PDF document is rendered to match the current state of any items in the report. For example, if the item is displayed when the report is run initially, then the item is rendered. Images that can be toggled are not rendered, if they are hidden when the report is exported.

Document Map

If there are any document map labels present in the report, a document outline is added to the PDF file. Each document map label appears as an entry in the document outline in the order that it appears in the report. In Acrobat, a target bookmark is added to the document outline only if the page it is on is rendered.

If only a single page is rendered, no document outline is added. The document map is arranged hierarchically to reflect the level of nesting in the report. The document outline is accessible in Acrobat under the Bookmarks tab. Selecting an entry within the document outline causes the document to go to the bookmarked location.

Bookmarks are not supported in PDF rendering.

Drillthrough Links

Drillthrough links are not supported in PDF rendering. The drillthrough links are not rendered as selectable links and drillthrough reports cannot connect to the target of the drillthrough.

Hyperlinks in reports are rendered as selectable links in the PDF file. When selected, Acrobat will open the default client browser and navigate to the hyperlink URL.

Compression

Image compression is based on the original file type of the image. The PDF rendering extension compresses PDF files by default.

To preserve any compression for images included in the PDF file when possible, JPEG images are stored as JPEG and all other image types are stored as BMP.

PDF files don't support embedding PNG images.

Device Information Settings

You can change some default settings for this renderer by changing the device information settings. For more information, see PDF Device Information Settings .

  • Pagination in Reporting Services (Report Builder and SSRS)
  • Rendering Behaviors (Report Builder and SSRS)
  • Interactive Functionality for Different Report Rendering Extensions (Report Builder and SSRS)
  • Rendering Report Items (Report Builder and SSRS)
  • Tables, Matrices, and Lists (Report Builder and SSRS)

Was this page helpful?

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback .

Submit and view feedback for

Additional resources

How To Generate A MySQL PDF Report in 3 Steps

Avatar photo

Learn How to Generate a PDF Report On a MySQL Database

Last week, we announced the release of Five Version 2.5 , a major new release of our rapid application development environment because of its ability to connect to almost any data source , as well as its new report writer, which enables developers to rapidly generate PDF reports on an SQL database.

This makes Five a great MySQL reporting tool that covers the entire process from database creation to PDF report generation.

To better understand which databases Five supports, read our blog post on external databases here. The short version is this: Five gives you a built-in MySQL database, or it can be connected to an external PostgreSQL, MS SQL Server, SQLite, or MySQL database. PDF reports can be created on any of these data sources.

report generator pdf

In this walkthrough, we will create a PDF report on Five’s built-in MySQL database.

Table of Contents

Using five to generate pdf data reports on mysql.

Generating a SQL report is a common development task. But traditional SQL admin tools are not really fit for this purpose. Five, on the other hand, is an application builder that helps developers rapidly build and deploy database-driven web apps that can contain PDF reports (or forms, charts, dashboards, etc.).

So, let’s say here’s a simple scenario: your business needs a new monthly inventory report (yet again). Let’s check out how quickly we could build this in Five.

1. Creating the MySQL Database

First up, Five gives developers a dedicated MySQL database for every application that’s developed in Five.

This built-in MySQL can be created using Five’s Table Wizard or its visual Database Modeler .

We will generate our report on top of this integrated MySQL database, but of course, a report can also be generated on any external, pre-existing relational database (note that a paid subscription is required to set this up with an external database, but with Five’s free download, you can already test the functionality locally free of charge).

Here’s what our database looks like for this example. We have a single table that stores information about Warehouses.

Five.Co - Visual MySQL Database Modeler

To create this database, follow these steps:

  • Download Five for free and launch it on your computer.
  • Once you have Five open, create a new application by clicking on Applications , and then the yellow Plus button . Give your application a Title , and click on the Tick mark in the top right corner to save.
  • Now click on the blue Manage button in the top right corner.
  • Next, click on Data > Table Wizard
  • Follow the video below to learn how to use the Table Wizard to create MySQL database tables in Five.

2. Creating the PDF Report on a SQL Database

Next, click on Visual > Reports. This is where you can generate, adjust, customize, and manage all your MySQL reports. Five lets you create reports on any data source, including its built-in MySQL database (as described here), any query, or any external database connected to Five.

Five.Co - Visual > Reports

Inside Reports,

  • Click the yellow Plus icon to generate a new report.
  • Give your report a Title, such as Warehouse Report.
  • Click on Data Sources , and select the Warehouse Table.
  • Go back to General, and click on Click to add in the Template field.

You’re now inside a rich text editor that allows you to design PDF reports the way you would design a usual Word document. On top of the text and document design features, the report generator also lets you select any data field from your data source.

For example, I can add a table to my report that will contain each field that is stored inside my warehouse table. To do so,

  • Add a table to my rich text editor by clicking the Table icon. Choose a 3 x 2, because my warehouse table only has two data fields: Location and ID.
  • Next open up the Insert Fields functionality

Five.Co - Inserting Fields from MySQL to the Report

You can use the Insert Fields functionality to add the captions of your database fields into the top row of your table, and each record into all subsequent records. Here’s how to set this up:

Five.Co - Inserting Fields from MySQL to the Report Layout

If you don’t enjoy working with the rich text editor, simply copy this piece of HTML into the code view of the report generator. Open the code view by clicking on </> in the top left corner of the report generator. Paste this code into it:

Save everything by clicking the Tick marks.

IMPORTANT: don’t forget to add your report to the menu.

  • Click on Visual > Menus > Yellow Plus Icon
  • Fill in the Caption of your menu item with Warehouse Report .
  • Select the WarehouseReport (Report) in the Action drop-down field.

3. Preview your PDF Report

To preview your SQL report that now turns the data stored in your MySQL database into an easy-to-use, printable and shareable PDF document, launch your application by clicking the ▶️ button in the top right corner of your development environment.

After a few seconds, the application will launch, and you’ll see your PDF report right in front of you!

You might be wondering why this report is empty. Well, we didn’t add any data to our database table. But of course, we could have done so by importing a CSV, or by creating a form in our application for users to add data.

Five.Co - Previewing the MySQL Report

Last, we could have worked on the formatting of our SQL report (and the look of the application surrounding it) by using the rich text editor or by customizing Five’s application themes.

4. Generating More Complex PDF Reports on a SQL Database

The above report turns existing MySQL database records into a table shown on a PDF document. This is the easiest example of an SQL report. What if you need more complex reports?

Five lets you add code to your report to manipulate data or add logic to your template. You could, for example, add a calculated field (such as a monthly total). Moreover, you can add custom screen fields to a report. A screen field lets users add data to their report from inside the end-user application rather than the database. In this way, the end-user of your report can make adjustments inside the report before generating it.

Generate PDF from a MySQL Database – Webinar

Watch our Developer Advocate Pranoy explain the PDF report generator in more detail in our full product demo here (to jump straight to the SQL report writer start watching from 21m and 40s):

How to Get Started

To connect Five to an existing external database, a paid subscription to Five is required. However, developers can explore Five’s features at no cost by signing up for a free download and using Five’s built-in MySQL database as a test database. Building applications Five on an external database is no different from using Five’s built-in MySQL database.

Free Download

Recent Posts

related blog thumbnail

How to Create a PostgreSQL GUI in 4...

How to Create a PostgreSQL GUI in Five: Complete Guide with Expert Tips You are about to embark...

related blog thumbnail

How to Create a SQL GUI in 4...

How to Create a SQL GUI in Five: Complete Guide with Expert Tips You are about to embark...

related blog thumbnail

How To Develop a Web App [Quick, Easy...

Here’s How to Develop a Web App With Five In Minutes There are a lot of different ways...

Get Started For Free Today

Thank you for your message!

Our friendly staff will contact you shortly.

  • Compress PDF
  • PDF Converter
  • PDF Scanner
  • Delete PDF Pages
  • Extract PDF Pages
  • Number Pages

AI PDF Summarizer

  • PDF to Word
  • PDF to Excel
  • Word to PDF
  • Excel to PDF
  • Protect PDF
  • › AI PDF Summarizer

Add PDF , image , Word , Excel , and PowerPoint files

Supported formats:

  • Chat with a PDF for free, without sign-up
  • TLS encryption for secure file processing
  • An AI assistant for instant PDFs summaries

How To Use AI PDF Summarizer

  • Drag & drop a PDF into the toolbox above.
  • You'll automatically get a summary of the file.
  • Ask anything about the file's contents in the chat.
  • Our artificial intelligence will answer promptly.

AI PDF Blog Articles

Blog_AISummarizer.png

Mobile Navigation

Video generation models as world simulators.

We explore large-scale training of generative models on video data. Specifically, we train text-conditional diffusion models jointly on videos and images of variable durations, resolutions and aspect ratios. We leverage a transformer architecture that operates on spacetime patches of video and image latent codes. Our largest model, Sora, is capable of generating a minute of high fidelity video. Our results suggest that scaling video generation models is a promising path towards building general purpose simulators of the physical world.

More resources

  • View Sora overview

This technical report focuses on (1) our method for turning visual data of all types into a unified representation that enables large-scale training of generative models, and (2) qualitative evaluation of Sora’s capabilities and limitations. Model and implementation details are not included in this report.

Much prior work has studied generative modeling of video data using a variety of methods, including recurrent networks, [^1] [^2] [^3] generative adversarial networks, [^4] [^5] [^6] [^7] autoregressive transformers, [^8] [^9] and diffusion models. [^10] [^11] [^12] These works often focus on a narrow category of visual data, on shorter videos, or on videos of a fixed size. Sora is a generalist model of visual data—it can generate videos and images spanning diverse durations, aspect ratios and resolutions, up to a full minute of high definition video.

Turning visual data into patches

We take inspiration from large language models which acquire generalist capabilities by training on internet-scale data. [^13] [^14] The success of the LLM paradigm is enabled in part by the use of tokens that elegantly unify diverse modalities of text—code, math and various natural languages. In this work, we consider how generative models of visual data can inherit such benefits. Whereas LLMs have text tokens, Sora has visual patches . Patches have previously been shown to be an effective representation for models of visual data. [^15] [^16] [^17] [^18] We find that patches are a highly-scalable and effective representation for training generative models on diverse types of videos and images.

Figure Patches

At a high level, we turn videos into patches by first compressing videos into a lower-dimensional latent space, [^19] and subsequently decomposing the representation into spacetime patches.

Video compression network

We train a network that reduces the dimensionality of visual data. [^20] This network takes raw video as input and outputs a latent representation that is compressed both temporally and spatially. Sora is trained on and subsequently generates videos within this compressed latent space. We also train a corresponding decoder model that maps generated latents back to pixel space.

Spacetime latent patches

Given a compressed input video, we extract a sequence of spacetime patches which act as transformer tokens. This scheme works for images too since images are just videos with a single frame. Our patch-based representation enables Sora to train on videos and images of variable resolutions, durations and aspect ratios. At inference time, we can control the size of generated videos by arranging randomly-initialized patches in an appropriately-sized grid.

Scaling transformers for video generation

Sora is a diffusion model [^21] [^22] [^23] [^24] [^25] ; given input noisy patches (and conditioning information like text prompts), it’s trained to predict the original “clean” patches. Importantly, Sora is a diffusion transformer . [^26] Transformers have demonstrated remarkable scaling properties across a variety of domains, including language modeling, [^13] [^14] computer vision, [^15] [^16] [^17] [^18] and image generation. [^27] [^28] [^29]

Figure Diffusion

In this work, we find that diffusion transformers scale effectively as video models as well. Below, we show a comparison of video samples with fixed seeds and inputs as training progresses. Sample quality improves markedly as training compute increases.

Variable durations, resolutions, aspect ratios

Past approaches to image and video generation typically resize, crop or trim videos to a standard size—e.g., 4 second videos at 256x256 resolution. We find that instead training on data at its native size provides several benefits.

Sampling flexibility

Sora can sample widescreen 1920x1080p videos, vertical 1080x1920 videos and everything inbetween. This lets Sora create content for different devices directly at their native aspect ratios. It also lets us quickly prototype content at lower sizes before generating at full resolution—all with the same model.

Improved framing and composition

We empirically find that training on videos at their native aspect ratios improves composition and framing. We compare Sora against a version of our model that crops all training videos to be square, which is common practice when training generative models. The model trained on square crops (left) sometimes generates videos where the subject is only partially in view. In comparison, videos from Sora (right) have improved framing.

Language understanding

Training text-to-video generation systems requires a large amount of videos with corresponding text captions. We apply the re-captioning technique introduced in DALL·E 3 [^30] to videos. We first train a highly descriptive captioner model and then use it to produce text captions for all videos in our training set. We find that training on highly descriptive video captions improves text fidelity as well as the overall quality of videos.

Similar to DALL·E 3, we also leverage GPT to turn short user prompts into longer detailed captions that are sent to the video model. This enables Sora to generate high quality videos that accurately follow user prompts.

Prompting with images and videos

All of the results above and in our landing page show text-to-video samples. But Sora can also be prompted with other inputs, such as pre-existing images or video. This capability enables Sora to perform a wide range of image and video editing tasks—creating perfectly looping video, animating static images, extending videos forwards or backwards in time, etc.

Animating DALL·E images

Sora is capable of generating videos provided an image and prompt as input. Below we show example videos generated based on DALL·E 2 [^31] and DALL·E 3 [^30] images.

report generator pdf

Extending generated videos

Sora is also capable of extending videos, either forward or backward in time. Below are four videos that were all extended backward in time starting from a segment of a generated video. As a result, each of the four videos starts different from the others, yet all four videos lead to the same ending.

We can use this method to extend a video both forward and backward to produce a seamless infinite loop.

Video-to-video editing

Diffusion models have enabled a plethora of methods for editing images and videos from text prompts. Below we apply one of these methods, SDEdit, [^32] to Sora. This technique enables Sora to transform  the styles and environments of input videos zero-shot.

Connecting videos

We can also use Sora to gradually interpolate between two input videos, creating seamless transitions between videos with entirely different subjects and scene compositions. In the examples below, the videos in the center interpolate between the corresponding videos on the left and right.

Image generation capabilities

Sora is also capable of generating images. We do this by arranging patches of Gaussian noise in a spatial grid with a temporal extent of one frame. The model can generate images of variable sizes—up to 2048x2048 resolution.

report generator pdf

Emerging simulation capabilities

We find that video models exhibit a number of interesting emergent capabilities when trained at scale. These capabilities enable Sora to simulate some aspects of people, animals and environments from the physical world. These properties emerge without any explicit inductive biases for 3D, objects, etc.—they are purely phenomena of scale.

3D consistency. Sora can generate videos with dynamic camera motion. As the camera shifts and rotates, people and scene elements move consistently through three-dimensional space.

Long-range coherence and object permanence. A significant challenge for video generation systems has been maintaining temporal consistency when sampling long videos. We find that Sora is often, though not always, able to effectively model both short- and long-range dependencies. For example, our model can persist people, animals and objects even when they are occluded or leave the frame. Likewise, it can generate multiple shots of the same character in a single sample, maintaining their appearance throughout the video.

Interacting with the world. Sora can sometimes simulate actions that affect the state of the world in simple ways. For example, a painter can leave new strokes along a canvas that persist over time, or a man can eat a burger and leave bite marks.

Simulating digital worlds. Sora is also able to simulate artificial processes–one example is video games. Sora can simultaneously control the player in Minecraft with a basic policy while also rendering the world and its dynamics in high fidelity. These capabilities can be elicited zero-shot by prompting Sora with captions mentioning “Minecraft.”

These capabilities suggest that continued scaling of video models is a promising path towards the development of highly-capable simulators of the physical and digital world, and the objects, animals and people that live within them.

Sora currently exhibits numerous limitations as a simulator. For example, it does not accurately model the physics of many basic interactions, like glass shattering. Other interactions, like eating food, do not always yield correct changes in object state. We enumerate other common failure modes of the model—such as incoherencies that develop in long duration samples or spontaneous appearances of objects—in our landing page .

We believe the capabilities Sora has today demonstrate that continued scaling of video models is a promising path towards the development of capable simulators of the physical and digital world, and the objects, animals and people that live within them.

  • Bill Peebles
  • Connor Holmes
  • David Schnurr
  • Troy Luhman
  • Eric Luhman
  • Clarence Wing Yin Ng
  • Aditya Ramesh

Acknowledgments

Please cite as Brooks, Peebles, et al., and use the following BibTeX for citation:  https://openai.com/bibtex/videoworldsimulators2024.bib

report generator pdf

Create a form in Word that users can complete or print

In Word, you can create a form that others can fill out and save or print.  To do this, you will start with baseline content in a document, potentially via a form template.  Then you can add content controls for elements such as check boxes, text boxes, date pickers, and drop-down lists. Optionally, these content controls can be linked to database information.  Following are the recommended action steps in sequence.  

Show the Developer tab

In Word, be sure you have the Developer tab displayed in the ribbon.  (See how here:  Show the developer tab .)

Open a template or a blank document on which to base the form

You can start with a template or just start from scratch with a blank document.

Start with a form template

Go to File > New .

In the  Search for online templates  field, type  Forms or the kind of form you want. Then press Enter .

In the displayed results, right-click any item, then select  Create. 

Start with a blank document 

Select Blank document .

Add content to the form

Go to the  Developer  tab Controls section where you can choose controls to add to your document or form. Hover over any icon therein to see what control type it represents. The various control types are described below. You can set properties on a control once it has been inserted.

To delete a content control, right-click it, then select Remove content control  in the pop-up menu. 

Note:  You can print a form that was created via content controls. However, the boxes around the content controls will not print.

Insert a text control

The rich text content control enables users to format text (e.g., bold, italic) and type multiple paragraphs. To limit these capabilities, use the plain text content control . 

Click or tap where you want to insert the control.

Rich text control button

To learn about setting specific properties on these controls, see Set or change properties for content controls .

Insert a picture control

A picture control is most often used for templates, but you can also add a picture control to a form.

Picture control button

Insert a building block control

Use a building block control  when you want users to choose a specific block of text. These are helpful when you need to add different boilerplate text depending on the document's specific purpose. You can create rich text content controls for each version of the boilerplate text, and then use a building block control as the container for the rich text content controls.

building block gallery control

Select Developer and content controls for the building block.

Developer tab showing content controls

Insert a combo box or a drop-down list

In a combo box, users can select from a list of choices that you provide or they can type in their own information. In a drop-down list, users can only select from the list of choices.

combo box button

Select the content control, and then select Properties .

To create a list of choices, select Add under Drop-Down List Properties .

Type a choice in Display Name , such as Yes , No , or Maybe .

Repeat this step until all of the choices are in the drop-down list.

Fill in any other properties that you want.

Note:  If you select the Contents cannot be edited check box, users won’t be able to click a choice.

Insert a date picker

Click or tap where you want to insert the date picker control.

Date picker button

Insert a check box

Click or tap where you want to insert the check box control.

Check box button

Use the legacy form controls

Legacy form controls are for compatibility with older versions of Word and consist of legacy form and Active X controls.

Click or tap where you want to insert a legacy control.

Legacy control button

Select the Legacy Form control or Active X Control that you want to include.

Set or change properties for content controls

Each content control has properties that you can set or change. For example, the Date Picker control offers options for the format you want to use to display the date.

Select the content control that you want to change.

Go to Developer > Properties .

Controls Properties  button

Change the properties that you want.

Add protection to a form

If you want to limit how much others can edit or format a form, use the Restrict Editing command:

Open the form that you want to lock or protect.

Select Developer > Restrict Editing .

Restrict editing button

After selecting restrictions, select Yes, Start Enforcing Protection .

Restrict editing panel

Advanced Tip:

If you want to protect only parts of the document, separate the document into sections and only protect the sections you want.

To do this, choose Select Sections in the Restrict Editing panel. For more info on sections, see Insert a section break .

Sections selector on Resrict sections panel

If the developer tab isn't displayed in the ribbon, see Show the Developer tab .

Open a template or use a blank document

To create a form in Word that others can fill out, start with a template or document and add content controls. Content controls include things like check boxes, text boxes, and drop-down lists. If you’re familiar with databases, these content controls can even be linked to data.

Go to File > New from Template .

New from template option

In Search, type form .

Double-click the template you want to use.

Select File > Save As , and pick a location to save the form.

In Save As , type a file name and then select Save .

Start with a blank document

Go to File > New Document .

New document option

Go to File > Save As .

Go to Developer , and then choose the controls that you want to add to the document or form. To remove a content control, select the control and press Delete. You can set Options on controls once inserted. From Options, you can add entry and exit macros to run when users interact with the controls, as well as list items for combo boxes, .

Adding content controls to your form

In the document, click or tap where you want to add a content control.

On Developer , select Text Box , Check Box , or Combo Box .

Developer tab with content controls

To set specific properties for the control, select Options , and set .

Repeat steps 1 through 3 for each control that you want to add.

Set options

Options let you set common settings, as well as control specific settings. Select a control and then select Options to set up or make changes.

Set common properties.

Select Macro to Run on lets you choose a recorded or custom macro to run on Entry or Exit from the field.

Bookmark Set a unique name or bookmark for each control.

Calculate on exit This forces Word to run or refresh any calculations, such as total price when the user exits the field.

Add Help Text Give hints or instructions for each field.

OK Saves settings and exits the panel.

Cancel Forgets changes and exits the panel.

Set specific properties for a Text box

Type Select form Regular text, Number, Date, Current Date, Current Time, or Calculation.

Default text sets optional instructional text that's displayed in the text box before the user types in the field. Set Text box enabled to allow the user to enter text into the field.

Maximum length sets the length of text that a user can enter. The default is Unlimited .

Text format can set whether text automatically formats to Uppercase , Lowercase , First capital, or Title case .

Text box enabled Lets the user enter text into a field. If there is default text, user text replaces it.

Set specific properties for a Check box .

Default Value Choose between Not checked or checked as default.

Checkbox size Set a size Exactly or Auto to change size as needed.

Check box enabled Lets the user check or clear the text box.

Set specific properties for a Combo box

Drop-down item Type in strings for the list box items. Press + or Enter to add an item to the list.

Items in drop-down list Shows your current list. Select an item and use the up or down arrows to change the order, Press - to remove a selected item.

Drop-down enabled Lets the user open the combo box and make selections.

Protect the form

Go to Developer > Protect Form .

Protect form button on the Developer tab

Note:  To unprotect the form and continue editing, select Protect Form again.

Save and close the form.

Test the form (optional)

If you want, you can test the form before you distribute it.

Protect the form.

Reopen the form, fill it out as the user would, and then save a copy.

Creating fillable forms isn’t available in Word for the web.

You can create the form with the desktop version of Word with the instructions in Create a fillable form .

When you save the document and reopen it in Word for the web, you’ll see the changes you made.

Facebook

Need more help?

Want more options.

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

report generator pdf

Microsoft 365 subscription benefits

report generator pdf

Microsoft 365 training

report generator pdf

Microsoft security

report generator pdf

Accessibility center

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

report generator pdf

Ask the Microsoft Community

report generator pdf

Microsoft Tech Community

report generator pdf

Windows Insiders

Microsoft 365 Insiders

Was this information helpful?

Thank you for your feedback.

Advertisement

Supported by

Fake and Explicit Images of Taylor Swift Started on 4chan, Study Says

The people on 4chan who created the images of Ms. Swift thought of it as a sort of game, the researchers said.

  • Share full article

Taylor Swift, wearing a white knit cap and a red jacket with the number 87 in white.

By Tiffany Hsu

Images of Taylor Swift that had been generated by artificial intelligence and had spread widely across social media in late January probably originated as part of a recurring challenge on one of the internet’s most notorious message boards , according to a new report.

Listen to This Article

Open this article in the New York Times Audio app on iOS.

Graphika, a research firm that studies disinformation, traced the images back to one community on 4chan, a message board known for sharing hate speech, conspiracy theories and, increasingly, racist and offensive content created using A.I.

The people on 4chan who created the images of the singer did so in a sort of game, the researchers said — a test to see whether they could create lewd (and sometimes violent) images of famous female figures.

The synthetic Swift images spilled out onto other platforms and were viewed millions of times . Fans rallied to Ms. Swift’s defense, and lawmakers demanded stronger protections against A.I.-created images.

Graphika found a thread of messages on 4chan that encouraged people to try to evade safeguards set up by image generator tools, including OpenAI’s DALL-E, Microsoft Designer and Bing Image Creator. Users were instructed to share “tips and tricks to find new ways to bypass filters” and were told, “Good luck, be creative.”

Sharing unsavory content via games allows people to feel connected to a wider community, and they are motivated by the cachet they receive for participating, experts said. Ahead of the midterm elections in 2022, groups on platforms like Telegram, WhatsApp and Truth Social engaged in a hunt for election fraud, winning points or honorary titles for producing supposed evidence of voter malfeasance. (True proof of ballot fraud is exceptionally rare .)

In the 4chan thread that led to the fake images of Ms. Swift, several users received compliments — “beautiful gen anon,” one wrote — and were asked to share the prompt language used to create the images. One user lamented that a prompt produced an image of a celebrity who was clad in a swimsuit rather than nude.

Rules posted by 4chan that apply sitewide do not specifically prohibit sexually explicit A.I.-generated images of real adults.

“These images originated from a community of people motivated by the ‘challenge’ of circumventing the safeguards of generative A.I. products, and new restrictions are seen as just another obstacle to ‘defeat,’” Cristina López G., a senior analyst at Graphika, said in a statement. “It’s important to understand the gamified nature of this malicious activity in order to prevent further abuse at the source.”

Ms. Swift is “far from the only victim,” Ms. López G. said. In the 4chan community that manipulated her likeness, many actresses, singers and politicians were featured more frequently than Ms. Swift.

OpenAI said in a statement that the explicit images of Ms. Swift were not generated using its tools, noting that it filters out the most explicit content when training its DALL-E model. The company also said it uses other safety guardrails, such as denying requests that ask for a public figure by name or seek explicit content.

Microsoft said that it was “continuing to investigate these images” and added that it had “strengthened our existing safety systems to further prevent our services from being misused to help generate images like them.” The company prohibits users from using its tools to create adult or intimate content without consent and warns repeat offenders that they may be blocked.

Fake pornography generated with software has been a blight since at least 2017, affecting unwilling celebrities , government figures , Twitch streamers , students and others. Patchy regulation leaves few victims with legal recourse; even fewer have a devoted fan base to drown out fake images with coordinated “Protect Taylor Swift” posts.

After the fake images of Ms. Swift went viral, Karine Jean-Pierre, the White House press secretary, called the situation “alarming” and said lax enforcement by social media companies of their own rules disproportionately affected women and girls. She said the Justice Department had recently funded the first national helpline for people targeted by image-based sexual abuse, which the department described as meeting a “rising need for services” related to the distribution of intimate images without consent. SAG-AFTRA , the union representing tens of thousands of actors, called the fake images of Ms. Swift and others a “theft of their privacy and right to autonomy.”

Artificially generated versions of Ms. Swift have also been used to promote scams involving Le Creuset cookware . A.I. was used to impersonate President Biden’s voice in robocalls dissuading voters from participating in the New Hampshire primary election. Tech experts say that as A.I. tools become more accessible and easier to use, audio spoofs and videos with realistic avatars could be created in mere minutes.

Researchers said the first sexually explicit A.I. image of Ms. Swift on the 4chan thread appeared on Jan. 6, 11 days before they were said to have appeared on Telegram and 12 days before they emerged on X. 404 Media reported on Jan. 25 that the viral Swift images had jumped into mainstream social media platforms from 4chan and a Telegram group dedicated to abusive images of women. The British news organization Daily Mail reported that week that a website known for sharing sexualized images of celebrities posted the Swift images on Jan. 15.

For several days, X blocked searches for Taylor Swift “with an abundance of caution so we can make sure that we were cleaning up and removing all imagery,” said Joe Benarroch, the company’s head of business operations.

Audio produced by Tally Abecassis .

Tiffany Hsu reports on misinformation and disinformation and its origins, movement and consequences. She has been a journalist for more than two decades. More about Tiffany Hsu

Explore Our Coverage of Artificial Intelligence

News  and Analysis

OpenAI announced that it was releasing a new version of ChatGPT that would remember all prior conversations with users  so it could use that information in future chats. The start-up also unveiled technology that creates videos that look like they were lifted from a Hollywood movie .

The F.T.C. outlawed unwanted robocalls generated by A.I. , amid growing concerns over election disinformation and consumer fraud facilitated by the technology.

Google has released Gemini, a smartphone app that behaves like a talking digital assistant as well as a conversational chatbot .

The Age of A.I.

A year ago, a rogue A.I. tried to break up our columnist’s marriage. Did the backlash that ensued help make chatbots too boring? Here’s how we tame d the chatbots.

Amid an intractable real estate crisis, fake luxury houses offer a delusion of one’s own. Here’s how A.I. is remodeling the fantasy home .

New technology has made it easier to insert digital, realistic-looking versions of soda cans and shampoo on videos on social media. A growing group of creators and advertisers is jumping at the chance for an additional revenue stream .

A start-up called Perplexity shows what’s possible for a search engine built from scratch with A.I. Are the days of turning to Google for answers numbered ?

Chafing at their dependence on the chipmaker Nvidia, Amazon, Google, Meta and Microsoft are racing to build A.I. chips of their own .

IMAGES

  1. Generating PDF Reports from a Python Script

    report generator pdf

  2. PDF Report Generator

    report generator pdf

  3. Report generator

    report generator pdf

  4. Report Generator: Liberate You From Repetitive Report Generation

    report generator pdf

  5. Laravel Report Generator

    report generator pdf

  6. Automating PDF report generation on no-code platform

    report generator pdf

VIDEO

  1. How to use Quick PDF Generator App

  2. HTML Report Generator

  3. report generator and minedetector

  4. the oracle story generator pdf fr

  5. Business Report Generator By Using Open AI API

  6. Report Text

COMMENTS

  1. Carbone

    The most efficient report generator Turn your JSON into PDF, DOCX, XLSX, PPTX, ODS and many more Try it now for free GitHub You're 30 seconds away from generating a report Stop writing code for each report, use your existing APIs! Here is how you inject JSON data into this document template, and convert it to a PDF:

  2. AI Report Generator Built for Engagement (+Templates)

    Storydoc AI report generator offers a 14-day free trial. Check it out and see if it's right for you. We know based on hundreds of thousands of presentation sessions that your readers will love it. Every interactive report you make during your trial is yours to keep forever, completely free!

  3. GitHub

    ⚡️ Fast, Simple and Powerful report generator in any format PDF, DOCX, XLSX, ODT, PPTX, ODS, XML, CSV using templates and your JSON data as input ! News. June 2023: A new Carbone website is coming with a free interactive tutorial (FR/EN) to learn Carbone language. Stay tuned 👋.

  4. PDF Report Generator

    The PDF Report Generator creates automated summaries of analytic results based on a search query or topic definition. It makes use of webLyzard's portfolio of high-quality visualizations to produce professionally designed PDF reports. Optimized for print, such reports widen the platform's target group beyond the users of the interactive dashboard.

  5. Free Online Report Maker

    EASY TO EDIT Report Templates Save yourself the added stress of starting a report design from scratch. Instead, use one of Visme's gorgeously pre-designed report templates. You can fully customize it to fit your content and your brand, coming out with a stunning report without having to put any design effort in.

  6. GitHub

    Easily generate PDF reports, invoices, exports, etc. - QuestPDF/QuestPDF. ... Report repository Releases 47. 2024.3.0-alpha Latest Feb 15, 2024 + 46 releases Sponsor this project . Sponsor Learn more about GitHub Sponsors. Used by 968 + 960 Contributors 28 + 14 contributors

  7. PDF Report Generator

    Our JSON to PDF API is the perfect tool to simplify your data representation and streamline the report generation process. Our cutting-edge JSON to PDF API enables you to seamlessly convert JSON data into elegant, customizable PDF reports.

  8. GitHub

    Report Objects. FastReport is a band-oriented report generator. There are 13 types of bands available: Report Title, Report Summary, Page Header, Page Footer, Column Header, Column Footer, Data Header, Data, Data Footer, Group Header, Group Footer, Child and Overlay. In addition, sub-reports are fully supported.

  9. Generate customizable PDF reports with Python

    PDF Report generator Generate custom PDF reports using reportlab & pdfrw by Martin Fitzpatrick Last updated 13 September 2023 Example applications If your job involves generating PDF reports, invoices, etc. you have probably thought about automating that with Python.

  10. PDF The Big Faceless Report Generator User Guide

    The Report Generator is a java application for converting source documents written in XML to PDF. Build on top of our popular PDF and Graph libraries, the Report Generator combines the features of the two and wraps an XML parser around them.

  11. 10 best PDF generation tools

    1. Jotform Jotform's PDF Editor allows you to create PDFs from the responses you collect from online forms. Start by creating a PDF from Jotform's more than 600 templates or upload an existing PDF.

  12. How to Create PDF Reports with Python

    Create PDF reports with beautiful visualizations in 10 minutes or less Reports are everywhere, so any tech professional must know how to create them. It's a tedious and time-consuming task, which makes it a perfect candidate for automation with Python.

  13. PDF Reports: The Ultimate Guide

    Sometimes you'll need more customization for your PDF report than what's provided in a code library (e.g., custom layouts and formatting). If that's the case, you may want to consider building a custom PDF report generator. However, building a custom PDF report generator an advanced technique and can be time-consuming.

  14. Create PDF Reports with free online PDF Tools

    The PDF4me converter merges and creates your PDF report in 5 simple steps: Choose and upload your files

  15. Free Online Report Maker: Design a Custom Report

    Explore templates Waiting for inspiration to strike? Browse Canva's library of report templates. Find a layout for every industry, theme and style you can imagine. Click on the template you like to make it yours. Discover features Add images and text to your page using the drag-and-drop tool.

  16. Programmatic Report Generation (PDF Report creation)

    Automated Report Generation with. Supertype Summary. , a done-for-you programmatic PDF generation service. Supertype Summary creates a highly tailored pipeline that output bespoke PDF in seconds, not days or hours. Because your time is too valuable to be looking for insights from millions of data points across multiple services, Summary ...

  17. AI Project Report Generator

    project-management 🤖 AI Project Report Generator Ditch manual work for ultimate efficiency! Try our Project Report Generator now and transform how you handle reports for unparalleled clarity, time savings, and higher productivity. Say hello to seamless operations! Start with AI Dynamic AI builders 🤖 100% fully customizable

  18. "Create PDF report": How an automatic PDF generator personalizes

    An automatic PDF generator converts data from a source, such as a or a spreadsheet, and uses it to create a PDF report. In the case of questionnaires, the PDF generator uses both a respondent's answers and the knowledge of the person who built the questionnaire to create a personalized PDF report.

  19. Creating PDF Reports with Pandas, Jinja and WeasyPrint

    The PDF creation portion is relatively simple as well. We need to do some imports and pass a string to the PDF generator. from weasyprint import HTML HTML(string=html_out).write_pdf("report.pdf") This command creates a PDF report that looks something like this: Ugh. It's cool that it's a PDF but it is ugly.

  20. Export a paginated report to a PDF File (Report Builder)

    When possible, the PDF rendering extension embeds the subset of each font that is needed to display the report in the PDF file. Fonts that are used in the report must be installed on the report server. When the report server generates a report in PDF format, it uses the information stored in the font referenced by the report to create character ...

  21. Create Reports using AI

    01. Upload a document from your computer or cloud storage service. 02. Modify your document or let the ai PDF editor summarize, rewrite, or proofread your PDF. 03. Sign your document online in a few clicks. 04. Send, export, fax, download, or print out your document. Create Reports using AI without batting an eye

  22. How To Generate A MySQL PDF Report in 3 Steps

    1. Creating the MySQL Database 2. Creating the PDF Report on a SQL Database 3. Preview your PDF Report 4. Generating More Complex PDF Reports on a SQL Database Generate PDF from a MySQL Database - Webinar How to Get Started Using Five to Generate PDF Data Reports on MySQL Generating a SQL report is a common development task.

  23. AI PDF Summarizer

    AI PDF Summarizer. Choose File. or drop file here. With AI PDF, you can utilize the powers of artificial intelligence to summarize PDFs of up to 50 MB and 50,000 words for free! The interactive chat function lets you request specific information to be summarized and presented to you in a matter of seconds. AI PDF Summarizer lets you understand ...

  24. Generate PDF Files in Your .NET MAUI App or ANY .NET Application

    PDF is still the standard for exchanging documents. In this video we'll learn how to generate a PDF report from .NET MAUI. Curious about that PDF Viewer I'm ...

  25. Video generation models as world simulators

    We explore large-scale training of generative models on video data. Specifically, we train text-conditional diffusion models jointly on videos and images of variable durations, resolutions and aspect ratios. We leverage a transformer architecture that operates on spacetime patches of video and image latent codes. Our largest model, Sora, is capable of generating a minute of high fidelity video.

  26. Create a form in Word that users can complete or print

    In Word, you can create a form that others can fill out and save or print. To do this, you will start with baseline content in a document, potentially via a form template. Then you can add content controls for elements such as check boxes, text boxes, date pickers, and drop-down lists. Optionally, these content controls can be linked to ...

  27. PDF Sora is ChatGPT maker OpenAI's new text-to-video generator. Here's what

    Sora is a text-to-video generator—creating videos up to 60 seconds long based on written prompts using generative AI. The model can also generate video from an existing still image. Generative AI is a branch of AI that can create something new. Examples include chatbots, like OpenAI's ChatGPT, and image-generators such as DALL-E and Midjourney.

  28. Fake and Explicit Images of Taylor Swift Started on 4chan, Study Says

    Researchers said the first sexually explicit A.I. image of Ms. Swift on the 4chan thread appeared on Jan. 6, 11 days before they were said to have appeared on Telegram and 12 days before they ...

  29. Sora (text-to-video model)

    Sora is a text-to-video model developed by the U.S.-based artificial intelligence (AI) research organization OpenAI. It can generate videos based on descriptive prompts as well as extend existing videos forwards or backwards in time. [1] [2] As of February 2024, it is unreleased and not yet available to the public. [3]