Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stable version user opinion survey #635

Closed
liZe opened this issue Jun 7, 2018 · 7 comments
Closed

Stable version user opinion survey #635

liZe opened this issue Jun 7, 2018 · 7 comments

Comments

@liZe
Copy link
Member

liZe commented Jun 7, 2018

It's time to make WeasyPrint great (again)!

We're about to release the first stable version of Weasyprint and we would like to know the users' opinions. Whether you're a former, regular or massive user of WeasyPrint, we'd like to have your answers to these questions:

  • Why did you use WeasyPrint?
  • Why was it useful for you?
  • What were the main problems?
  • What best describes your choice of WeasyPrint?

(You'll find more about new features in the next milestone page).

Thank you!

@liZe liZe added this to the 43 milestone Jun 7, 2018
@Tontyna
Copy link
Contributor

Tontyna commented Jun 11, 2018

Though my favourite writing mode is plain text (with lightweight markup), sooner or later there is always a fuelling demand for formatting and proper pagination of joined documents. Not to mention that paper protects against digital dark age.

Converting to nicely styled HTML is no problem at all. But...

...until I discovered WeasyPrint I imported the HTMLs into Word or OpenOffice and exported as PDF. Textprocessors are good when it comes to pagination but no script no regex no macro no template could prevent them from applying unwanted styles and doing other funny things, causing a lot of stupid manual reworking.

Since my css are not too complex, WeasyPrint's output is perfect.

The only thing I missed was its lack of automatic TOC generation -- no problem: it's Open Source and there's docs.python.org. Now I have a (rather ugly, but working) script which does what I need.

Ok, there is another obstacle, at least for Windows people: The installation.
When I first read the list of prerequisites and that kittens will die because of me, I decided to give wkhtmltopdf a chance and even started learning LaTex. But OMG! No!
So I finally followed the instructions, mumbling, grumbling, what an expense for only a little tool!, almost didn't cheat -- and no kitten died.

Browsers will eventually implement CSS Paged Media, but until then: I'll use WeasyPrint!

@pothos
Copy link

pothos commented Jun 12, 2018

I convert pandoc markdown+html/css documents to PDF with WeasyPrint. The documents range from letters to scientific writings. I specially like it because of good native hyphens, and multi column support.

Unfortunately I sometimes need to fallback to wkhtmltopdf or chromium because of JS usage for mathjax (until I find a way to preprocess this with pandoc). Edit: Presentations are working with @page { size: 29.7cm 21cm; margin: 0; } @media print { h1 { page-break-before: always; } } and some styling instead of reveal.js. Hints for baking mathjax (which supports html/svg rendering) are very welcome. Edit2: Found https://github.com/lierdakil/mathjax-pandoc-filter but it requires inline SVG elements :( Thus must be patched: lierdakil/mathjax-pandoc-filter#3

@tokyovigilante
Copy link

I've only just discovered WeasyPrint after dabbling with LaTeX years ago for scientific writing, but going back to Word after being disappointed with the complexity and (IMO) unattractive output.

I got interested in CSS typesetting for printed documents after discovering the CSS paged media model, and realising HTML/CSS could be a perfect solution for typesetting. My initial experiments with using a JS app to control Chrome Puppeteer as the PDF renderer, but, disappointed with the support for advanced paged media features, went looking for alternatives and found WeasyPrint.

I have not been disappointed with the quality of the output or the community, both of which are top-notch.

The real beauty of the system is that your input HTML can be as simple or as complex as you want, from simple hand-crafted documents to a full JS app generating the HTML and CSS to pass to the WeasyPrint renderer. The output is very high quality. The only other feature I'd like to see is a hyphenation system using the Knuth–Liang hyphenation algorithm.

Thanks again for great software!

BTW I've written a small Python script to watch a directory and re-render the PDF if the source files change, which is great for close to WYSIWYG editing but all the advantages of separating content and presentation. I'm happy to share if anyone is interested.

@JohannesMunk
Copy link

We discovered WeasyPrint quite exactly one year ago after getting fed up with the bad support of printCSS features in Chromium/QtWebEngine, that we previously used to generate PDFs from within our klar!studio.

Since then we have successfully deployed WP at two of our clients. We described one of the usecases in a whitepaper.

I am very happy about the projects activity and the support our issues recieved. To maintain a working HTML5 rendering engine is no small feat, but bears the fruits of an independant and agile project! Thanks a lot for this very useful and well maintained piece of software!

@LukasKlement
Copy link

LukasKlement commented Sep 4, 2018

We used WeasyPrint right from the outset of our latest product built with Django Rest Framework to render user-written and dynamically generated food and drink menus to downloadable/printable PDFs.

Why did you use WeasyPrint?

  • The templating language is very similar to Django
  • Being based on CSS Paged Media makes onboarding developers easy and provides a reliable documentation

Why was it useful for you?

  • The open source nature and active development allows us to grow alongside WeasyPrint
  • WeasyPrint turned out very reliable and community support is very good on Github
    -> WeasyPrint is amazing

What were the main problems?

  • Mainly missing features: Flexbox (coming soon, yey 👍), CSS var() support, PDF/A - PDF/X support
  • In particular, the implementation of columns that flow over multiple pages caused a lot of headaches.

What best describes your choice of WeasyPrint?

  • WeasyPrint was chosen amongst a few alternatives, the choice was driven the ease-of-use, the quality of documentation and the activity of the community surrounding the project

@sww314
Copy link

sww314 commented Sep 26, 2018

We just started using it with Django and Django Rest Framework applications to generate travel itineraries. The original implementation was done in ReportLab, but the code was impossible to maintain. The nice part is about WeasyPrint is that plugs in very well with the Django flow of doing things - collect your data in a serializer and render in a template.

Using WeasyPrint makes it much easier for us to move features from web app into the PDF version.
The install was a bit tricky - it delayed our implementation for a while as the everything would just die when some dependency was missing.

We choose WeasyPrint over xhtml2pdf and are moving away from ReportLab. Better documentation and standards-based CSS/HTML as the source were key for us.

@liZe liZe removed this from the 43 milestone Nov 2, 2018
@liZe
Copy link
Member Author

liZe commented Nov 6, 2018

Thanks everyone!

@liZe liZe closed this as completed Nov 6, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants