Here is how you can create a pdf from html/css on the client side (no backend or external libraries involved). We will take advantage of the window...
For further actions, you may consider blocking this person and/or reporting abuse
Kind of a misleading article. This really doesn't have anything to do with generating a PDF - it just tells you how to kick your browser to print the current page. The fact that the print dialog may have an option to "Print to PDF" is entirely separate to anything you are doing here - and will likely be dependent on your browser and system. You'll still have to select 'Print to PDF' manually
But still this is a great article 👍 Keep it up
No, it’s not.
tough crowd
Fixed, modified title. Hopefully it's more clear now.
Would be nice if browsers would have some native api's for pdf generation..
No. It's better this way. There are other ways you can manage "pdfs" while this tool does all of that and much more. i.e. Print as well.
Not everything needs changing. You wrote a good article. Sure had a wrong title, I wont call it misleading personally. Misleading would be when you'd do that knowingly. Just stick to your findings. Don't defend yourself when you find contradicting information proving you wrong. But don't back down either if otherwise.
Happy dev'ing.
Fr. We have Print to PDF in the browser itself. And most modern browsers support it.
Why to use js to toggle print button.
This can be achieved by something like as below
So basically we can assign a new value to css in print selector.
nice one!
Never ever style id's in your css. id's are for js only, classes are good for styling. If for some reason you will need the same functionality in other place it will be better to assign a class for it.
The same goes to
!important
notation. Usually there is no reason to use it because it's hard to override it.I agree, styling id's is not a good practice. The
!important
is needed in this case forwindow.print()
otherwise the browser will not show the pdf as in the html page.I sincerely implore people to do constructive criticism. You only add injury to the salt. The only problem with my dude was that... He is bad at keyword research like you dinosaurs here. Chill. Relax. Get that fixed and if he doesn't do that, go ahead and yell at him for whatever reason. But for God's sake, don't make this toxic for everyone else. I come here for comments more than the articles. Learn much much more that way. If you have nothing good to say, better shut up.
Didn't know this was possible. Thanks for sharing.
Dear Author,
This article falls in the grey area of click bait based on the title of the article. I would suggest to put some effort in writing a well thought out article by researching on the topic.
For others who felt betrayed by the title, here are some pointers
medium.com/@ayusharma.in/generate-...
bannerbear.com/blog/how-to-convert...
You need a backend for that.
I see your points and also I see lack of developer and ui/ux experience in your words. Sure, there will be situations when you need two or more buttons. Modal windows for example.
Well, why? :D Oh yes, because you will copy/paste buttons and style them with ID's.
:host
is interesting but not popular selector, so no, I don't use it everyday, especially when working with frameworks.I did the same thing using puppeteer and end EJS to generate PDF.
Also with pdflib to change the title of the document.
Checkout on gist ->
gist.github.com/donnisnoni/a9fdf25...
You need a backend for that.
OOh, that is very interesting!!!
keep it up
I thought this was going to be about a true HTML to PDF library like the most excellent Flying Saucer which is discussed in this article:
medium.com/javarevisited/html-to-p...
You need a backend for that.
Read my answer again. I didn't say any word about global styling. You can achieve styling with classes, but styling an id is a bad tone. ID's are good for querying elements in your scripts, but I see no reason in styling them.
Suppose you have two button components. They have similar styles but different background colors. Will you style each id or you create some common class for them and then extend it for different background color situations?
At the end of the day you can write styles as you want. But code practices will help you to maintain and write clean code.
The solution you provide in your article need a browser that supports to print a page into a pdf file. You have a macos device it's ok. You are on mobile, it's not ok.
Your solution juste provide a button to trigger the print action AND to hide this button on the printed version of this page. There is nothing to deals with PDF.
Damn... Indeed on mobile browsers this doesn't work.
If it was
window.pdf()
it would be a neat post, otherwise it's a clickbaitI really have interest in dev is all about Education to build your self to be self development to be self independent fainacialy and Educatinaly..I am getting improve with all what I am reading in here dev.com
wrong title
and here when the client said! Nooo I want download the pdf file, not print it!
and now you understand its better implement wkhtmltopdf instead of explain.
You need a backend for that. Sometimes this simple things will do the job.
Very interesting article 👍
Amazing!
Now I see. It's all about web components, which I don't use at all.
No, it's not. You can't use one id twice in case you want reuse your styles. If you write styles for component and want scoped css, you can use classes, not id's.
Excellent post !!Easy way to generate a PDF and save it where you want!
And this would be great related to header if u can share, how to programmatically save the pdf which is required to hit by browser pdf action button.
Unfortunately this is not possible with this method..
Nice you have shared a good content!
This low quality, low effort content is killing me.
Welcome to dev.to!
"How to save HTML Page into PDF file"
Nice 👍❤️