Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "html-to-pdf"
-
It's done! Network printer and scanner, hosted by a Raspberry Pi Zero W. I used CUPS to host the printer, but the scanner was much more difficult. I installed apache2 on the Pi to host a HTML front-end that I wrote. Once you set up the scan, the front-end makes an AJAX call to a PHP script, which then calls my Python script that does the scanning and converting. Once that's done, it returns the file name via the AJAX call, then the front-end downloads the scanned PDF on the computer. I even managed to impress my girlfriend, who didn't really understand what I was doing until I showed her the end result 😄
I might try to pipe the output of the conversion straight back via AJAX, to be downloaded without a second call.9 -
Fucking evopdf, I spent 2 days trying to figure out why the fuck my js isn't rendering the html for printing. I created the structure in html already, and it's rendered perfectly with js DOM, when evopdf ran from backend it shows nothing, tried not using external script, tried to put value one by one, it works, my css is also broken, thanks fucker, the client only asked to directly download the html page instead of save as PDF. I thought why the fuck not?
evo pdf modified my CSS element for some odd reason, flex and grid got messed up, page width also fucked along with font size, doesn't support some javascript function. I shit you not the .after and let doesn't work. Fucking garbage
Edit: it worked now, but I spend hours today rewriting everything just to looks decent and it still looks like shit fml6 -
I have a client who wants his website to look like a goddamn PDF. I'm really considering making his site in a Word document, exporting it as a huge image and just slapping it in the HTML.
Fucking motherfucker. I should charge more for dealing with this bullshit.9 -
Client:
"Ok,. so your saying that its gonna take you 63 hrs to create a simplified CRM with basic functionality and auto fill docs or automated work flow docs as an added feature?"
My response (after already under-quoting and planning on cutting some corners because he has a smaller budget than normally necessary):
"It sounds simpler than it is. There are a lot of things I need to take into account that you wouldn't even think about.
For instance:
Making sure your emails don't go to the client's spam folder. This requires the sending domain to be verified via DNS settings. I have to ensure your email content passes a spam test (link to text ratio needs to be good). I assumed you'd want an email that has your logo and looks good. This means testing the design in Outlook to make sure it's not broken.
What if the email doesn't send due to an invalid email address, or bounces back? You'll need to be notified.
What if the client list for the week contains duplicates? You need them merged or ignored.
Generating a PDF from HTML can be tricky because the conversion isn't apples to apples so there are things I need to adjust to make them as close as possible.
Making a site completely mobile friendly (the tier 3 option) can be very time consuming as well. It's not about whether or not it fits on a mobile phone, it's about whether or not it's intuitive and useful. You're essentially getting a mobile app without paying for separate development of an app.
If I took everything into consideration and built this to be 100% bullet proof, it would cost tens of thousands.
I'm doing my best to leverage your needs with the probability of running into an issue. I'm not going waste my time/your money on something that will likely never happen."9 -
If nobody hates you, you're doing something wrong ~ House MD
Tl;Dr : I'm pissing the right people off and my God I like it
That's what I've known and have confirmed doing my current side project with my gf, we are working on a ratemyprofessors clone with extra spicy features, one in particular is so spicy some teachers will be put in a position in which they would rather grind hot peppers with their butt cheeks.
Don't get me wrong, there are good teachers (some of which actually showed support) but some are not good teachers and some aren't good people either; I've decided it's time to stop complaining and take action.
We recently released an alpha and I presented it to a teacher I had this semester (one of the "not so great" kind) as a DB proyect cuz fuck it I'm not doing 2 projects.
This teacher is your run of the mill "I'm lazy and I don't care" teacher and she ran the classroom like a shitty kindergarten, so much so, one of the teams was presenting a buggy admin site as their project and she started talking on the phone! Right up on their faces!!
My turn, I go up and handle her a 30 page printed thesis of my project and said that unlike my mates, I was going to start presenting the idea and then the actual software...why is it printed?, She said; Because I won't be projecting the PDF ma'am, I actually made a professional presentation and that way you can read more technical details while I give a broad overview...
I started talking about the huge issues students face and my research about it, undisciplined teachers, no class structure ~ abrupt interruption ~ "yeah I know like, you are giving so much statistics and numbahs but where is the database?"
I got pissed off because the whole purpose of printing and giving her the docs was for her to ask specific questions AT THE END! So I told her I was getting there and to ask questions at the end...I start showing off the system's sweetest features... everyone got quiet...a girl on the front row kept looking at the teacher and then back to the board with her eyes wide open, the teacher was visibly upset.
I asked someone to please help me by using the site being projected for everyone to see, he searched the teacher's name and it obviously popped up cuz I scrapped the whole teacher index site... some people gasp and others start murmuring.
She freaked and started arguing saying that frontend can't be just HTML and CSS, where did you mentioned x and y feature? admit it's just teacher evaluations! where did you get the teacher names? I want the scripts!....it went on even 10 minutes after class and the next class with a police like interrogation.
So yeah, something tells me I'm not getting an A, but I'm happy after all because that's the kind of reaction I want from those types of professors.
Worth it 😎10 -
When you create your CV in HTML/CSS print as PDF and attach that to the job application, because word is annoying you with its lack of layout abilities.
I just wanted this bit of text over there --->
but no, I have to go make a text box, position that thing in an "absolute" way and have it still be wrong when exporting as PDF.
Really how hard is it to let me build a nice layout 😒10 -
Diary of an insane lead dev: day 447
pdf thumbnails that the app generates are now in S3 instead of saved on disk.
when they were on disk, we would read them from disk into a stream and then create a stream response to the client that would then render the stream in the UI (hey, I didn't write it, I just had to support it)
one of my lazy ass junior devs jumps on modifying it before I can; his solution is to retrieve the file from the cloud now, convert the stream into a base64 encoded string, and then shove that string into an already bloated viewmodel coming from the server to be rendered in the UI.
i'm like "why on earth are you doing that? did you even test the result of this and notice that rendering those thumbnails now takes 3 times as long???"
jr: "I mean, it works doesn't it?"
seriously, if the image file is already hosted on the cloud, and you can programmatically determine its URL, why wouldn't you just throw that in the src attribute in your html tag and call it a day? why would you possibly think that the extra overhead of retrieving and converting the file before passing it off to the UI in an even larger payload than before would result in a good user experience for the client???
it took me all of 30 seconds to google and find out that AWS SDK has a method to GetPreSignedURL on a private file uploaded to s3 and you can set when it expires, and the application is dead at the end of the year.
JFC. I hate trying to reason with these fuckheads by saying "you are paid for you brain, fucking USE IT" because, clearly these code monkeys do not have brains.3 -
I think that two criterias are important:
- don't block my productivity
- author should have his userbase in mind
1) Some simple anti examples:
- Windows popping up a big fat blue screen screaming for updates. Like... Go suck some donkey balls you stupid shit that's totally irritating you arsehole.
- Graphical tools having no UI concept. E.g. Adobes PDF reader - which was minimalized in it's UI and it became just unbearable pain. When the concept is to castrate the user in it's abilities and call the concept intuitive, it's not a concept it's shit. Other examples are e.g. GEdit - which was severely massacred in Gnome 3 if I remember correctly (never touched Gnome ever again. I was really put off because their concept just alienated me)
- Having an UI concept but no consistency. Eg. looking at a lot of large web apps, especially Atlassian software.
Too many times I had e.g. a simple HTML form. In menu 1 you could use enter. In menu 2 Enter does not work. in another menu Enter works, but it doesn't submit the form it instead submits the whole page... Which can end in clusterfuck.
Yaaayyyy.
- Keyboard usage not possible at all.
It becomes a sad majority.... Pressing tab, not switching between form fields. Looking for keyboard shortcuts, not finding any. Yes, it's a graphical interface. But the charm of 16 bit interfaces (YES. I'm praising DOS interfaces) was that once you memorized the necessary keyboard strokes... You were faster than lightning. Ever seen e.g. a good pharmacist, receptionist or warehouse clerk... most of the software is completely based on short keyboard strokes, eg. for a receptionist at a doctor for the ICD code / pharmaceutical search et cetera.
- don't poop rainbows. I mean it.
I love colors. When they make sense. but when I use some software, e.g. netdata, I think an epilepsy warning would be fair. Too. Many. Neon. Colors. -.-
2) It should be obvious... But it's become a burden.
E.g. when asked for a release as there were some fixes... Don't point to the install from master script. Maybe you like it rolling release style - but don't enforce it please. It's hard to use SHA256 hash as a version number and shortening the hash might be a bad idea.
Don't start experiments. If it works - don't throw everything over board without good reasons. E.g. my previous example of GEdit: Turning a valuable text editor into a minimalistic unusable piece of crap and calling it a genius idea for the sake of simplicity... Nope. You murdered a successful product.
Gnome 3 felt like a complete experiment and judging from the last years of changes in the news it was an rather unsuccessful one... As they gave up quite a few of their ideas.
When doing design stuff or other big changes make it a community event or at least put a poll up on the github page. Even If it's an small user base, listen to them instead of just randomly fucking them over.
--
One of my favorite projects is a texteditor called Kate from KDE.
It has a ton of features, could even be seen as a small IDE. The reason I love it because one of the original authors still cares for his creation and ... It never failed me. I use Kate since over 20 years now I think... Oo
Another example is the git cli. It's simple and yet powerful. git add -i is e.g. a thing I really really really love. (memorize the keyboard shortcuts and you'll chunk up large commits faster than flash.
Curl. Yes. The (http) download tool. It's author still cares. It's another tool I use since 20 years. And it has given me a deep insight of how HTTP worked, new protocols and again. It never failed me. It is such a fucking versatile thing. TLS debugging / performance measurements / what the frigging fuck is going on here. Take curl. Find it out.
My worst enemies....
Git based clients. I just hate them. Mostly because they fill the niche of explaining things (good) but completely nuke the learning of git (very bad). You can do any git action without understanding what you do and even worse... They encourage bad workflows.
I've seen great devs completely fucking up git and crying because they had really no fucking clue what git actually does. The UI lead them on the worst and darkest path imaginable. :(
Atlassian products. On the one hand... They're not total shit. But the mass of bugs and the complete lack of interest of Atlassian towards their customers and the cloud movement.... Ouch. Just ouch.
I had to deal with a lot of completely borked up instances and could trace it back to a bug tracking entry / atlassian, 2 - 3 years old with the comment: vote for this, we'll work on a Bugfix. Go fuck yourself you pisswads.
Microsoft Office / Windows. Oh boy.
I could fill entire days of monologues.
It's bad, hmkay?
XEN.
This is not bad.
This is more like kill it before it lays eggs.
The deeper I got into XEN, the more I wanted to lay in a bathtub full of acid to scrub of the feelings of shame... How could anyone call this good?!?????4 -
This is a true story. We had this subject, called “Web Design” (really, “design”), where we studied HTML, CSS, JavaScript, PHP and MySQL (confusing, right?). And when we get the PHP (e-)book, it was this old PDF (probably downloaded illegally) teaching the legacy 4.0 version of PHP. Anyway, when we had to develop the final project, the sane professor allowed us to use a newer version of PHP — 5.2, released on 2008. I had to follow the rules, so I developed probably the less secure web application I will ever develop. That means no protection from SQL injection, XSS vulnerable and a bunch of other security holes… And that’s how they liked it developed!3
-
Rant
I'm tired of this shit!!!
First I receive a task to create a new functionality for the app that I'm working on and some documentation (this is the only good part of all the rant) but no design.
It's been 2 weeks since I got assigned to this and still no design, no assets, no API calls that ACTUALLY WORK.
Today was testing a plist to get a banner link, and for 1 hour that little fucker didn't returned the image I was asking.
Better, I wasn't getting ANY IMAGE. Turns out that the link sends me to a HTML URL that doesn't have any image... go figure!
So I've been working on this from some images inside the PDF with the documentation given.
Oh! Wait! There's more!
The cherry on top is that I'm implementing a chat/voice call/video call into the app and the framework that I will be using is being created now, and it's not even finished!!!!!!4 -
I'm currently between jobs and have a few rants about my previous job (naturally). In retrospect, it's somewhat therapeutic to range about the sheer brainfuckery that has taken place. Enjoy!
First, let me set the scene: legacy B2B web app made with LEMP stack and sencha ext.js 3 + 4 (don't ask) and a lot of madness. Let's call that app "Alpha".
Alpha is a self made CMS build for typical ERP stuff. Yes, a self made CMS: entities are containers, containers have types and fields and values. Like so many legacy PHP apps, it does not have a dedicated FE: the HTML is rendered on the server and then spewed out to the browser.
Easy right? Coding like it's 1999! But there was a twist: Because everything is basically a container, the HTML-templates are saved in the DB. Along with the nessary JS and the CSS. And the translation variables. Why? Because fuck you! That's why. Who needs a git history anyways.
For some reason, Alpha was kinda slow.
There was also an editor, that allowed you to modify templates (web, mail, pdf) on the fly in prod. Because templates contain repeating data (header/footer), one template could contain additional templates. Much confusion. You could change templates via migration (slow, boring) or just ctrl-c/ctrl-v that sucker (fast, much excitement).
Did I mention Alpha was slow?
On with the rant: e-mails! How do they work? Noone knows. How to send mails asynchronous in PHP? Witchcraft is the only possible answer to that riddle. Here is your enterprise™ solution:
1. create mail
2. insert mail into DB
3. WAIT UP TO 59 SECONDS FOR A FUCKING CRON TO SEND MAIL
Why? "Because that way, we can resend mails in case the network is down :)"
Same procedure for the SOAP-API (db-queue + cron). You read that right: all requests to various other systems are processed once a minute.
Alpha slow.
Alpha was only one of several systems. Imagine a bunch of monolithic php apps, interconnected via SOAP, REST and GraphQL like a godamn intergalactic orgy. Image having to debug that cluster fuck.
Let's say there is a bad request. These things happen. No biggie. Remember the db-queue? Let's try to send the bad request a second time! And a third time! Still no luck? How odd. Let's create a specific file in a specific directory: a LOCK-file. Now, "the db-queue is on hold and no request gets processed :)"
Golly gee thanks Alpha.
Anyhow, did you know that MySQL has a join limit of 61 tables?3 -
Fuuuuuuuuucking hell. I have a program that parses and generates information from shit I have in a database into a csv file. Shit was simple enough to be done in Python.
Trying to present that shit into fucking pdf files? without drawing shit on x,y coordinates like a retard or without downloading a fucking obscure number of bs shit into the computer? on a fucking WINDOWS machine? fuuuuuuuuuuuuuuck.
Ok no problem. Do it in Node. WHAT IN THE HOLY FUCK more bullshit with drawing shit line by line. fuck this.
Lol not even going to touch java or c# for this, this is quick.
mmmh perl? nah, php? nah
Well shit I just need to generate data from a csv into a html template and send it away as a docume....go? ok lets....ah....done
Go wins again in my book ladies and gentlemen
It even has fewer lines of code than the php experiments8 -
Does anyone know any offline program like jsonresume to create pdf resumes..? It seems jsonresume is broken, and everytime i try it builds a pdf with no theme at all..
I need a resume where space is not wasted and i dont want to rewrite the entire css to make that happen. Suggesting a specific jsonresume theme i.e. style.css and .hdr file would also help because i found a blog where it was explained how to build a html resume using these..
And is there any offline html to pdf converters ?6 -
To the friend ranting about having to copy pseudo code on paper, I feel your pain. Analog IT professors are the worst.
I raise you one with : I had a professor that had me sent in source code files, a pdf with all the source code and a paper printout of every single line of code for a html/php project. Fifty pages of code printed for reasons I cannot understand. And no, I checked later, he didn't ask for it to take notes during the exam.5 -
TLDR;
Side project update.
Made simple nlp library in python and published it’s first version to open source.
Now I can feed it with parsed pdf text.
See rant https://devrant.com/rants/2192388/...
Why ?
Cause during reading book about nltk I couldn’t find simple extendible way to provide support for polish language and I wanted to abstract stemming, word normalization, tokenizer etc. so I can provide ex. different conditions for separate text files and don’t write much code what is an asset when you work solo.
It’s about 12GB of pdf public accessible law data I am trying to handle ( at first ) which is about 35000 files from last 90 years.
So far I automated downloading web pages and pdf documents from them. Extracting data from web pages and saving it to database. Extracting text from pdf files. I have about 5-6 projects to do all of it above maybe at the end I will put it to some workflow manager like Luigi or just run it by cronjob.
First thing for website version 1.0 part is find correlation between all documents inside law text using nlp library by building custom conditions. Then just generate directory structure and html files with links between documents.
Website version 2.0 is already in my mind but it will be creepy to make it and will take at least 1-2 months and I want to publish fast.
I have some pdfs with only images instead of text and tesseract worked quite good with them so maybe I will try to process them when everything go live.
Learned a lot about pdf as now I know that font in pdf is not always providing unicode characters ( stupid form of obfuscation) so when you extract text you need to build glyph vector to text map for every font.
Pdf is full vector representation - just like svg - what is logic if you think a bit and know that some printers are running using postscript.
Let’s hope next update will be about flutter mobile app which started all of shit above. It’s almost ready ( except getting data from api I am trying to do and logo for release version ). It’s last piece of puzzle.3 -
What's the best resource (curriculum, pdf, video download link...) you suggest to teach an online class which is a whatsapp group/telegram channel web design. - HTML, CSS, Javascript then build some sample website. Please let suggestions be whatsapp or telegram friendly.
PS. I'm in a country where internet connection is expensive.question teaching material webdev html & css learning to code teaching planning javascript suggestions8 -
markdown4documentation is a tool that can either convert a single markdown file, a complete directory or a complex structure to HTML or PDF. You can choose between several build-in themes (called templates) or define a custom theme.1
-
This is more of a story than an actual rant, but here it goes.
I was at my class and we were doing a small introduction about JavaScript. Our teacher tells us to build a small website using buttons and text boxes in order to make a calculator. He then says that, afterwards, we must copy and paste a segment of JavaScript code which he supplied on the PDF file (our teacher uses PDF files as some sort of worksheets).
I paste his code correctly on my HTML document and I try to test it. On the first box, I put 10, and on the second box, I also put 10. I was expecting that in the result box there would appear 20, but, to my surprise, nothing happened.
Instead of asking my teacher what was wrong, I decided to pay a visit to my good old friend Stack Overflow and I learned how to use getElementById().
I had some experience with coding earlier so I just sorted myself out. When my teacher comes to check my work, I said that his code wasn't working so I googled a solution and eventually came up with one.
He said: "Well, that's weird. That code is right, at least it worked for me."
I outsmarted my teacher.
I also realised why there are so much "it worked on my machine" jokes.2 -
I do not like it but I am forced to ask a tech question because my friend google has no idea how to solve this problem...
So, I have a pdf with a bunch of points with a number inside. I have to produce a list of numbers with X and Y coordinate of the point.
What I have tried: convert pdf to HTML and extract the position of divs / completely failed because a lot of points were distorted, mixed up, contained more numbers, etc, it's just not precise enough after conversion.11 -
1) Simple, secure and powerful technology for website user interface design which will replace HTML, CSS and JS.
2) Simple and practical technology to be able to utilize HTML for all kinds of documents which will replace paper page based document formats like PDF and Word.
3) One technology for native mobile app development to rule them all. So that it's not necessary to use HTML and JS.1 -
Gf asked me to help her with getting science articles. She had some page that her university suggested students to use, but had troubles with downloading documents.
At first I was like "Hey, it says use IE, other browsers are not supported. Thats bad but.. whatever". Then it popped that she needs Java enabled - well, I guess we have to... Even updated it cause it was needed.
Restarted IE, clicked download again and... Java security blocked web app... Eh, I don't trust it but whatever, just let's check what if I whitelist it.
Got some basic view, 1 dropdown list for "file name format" (like anybody cares), path selection where to save file, and some checkbox. Lame, but let's just leave it behind.
Downloaded, it turned out to be html file, not pdf, fishy that it was single file, but hoped for some text styled with css, so I opened it and got redirected to page where I clicked download.
Checked that file content - html with empty body and script tag containing js that redirects on load.
Srsly?😐2 -
From weird set of stored procedures to html to PDF to being a blob in a database ... I mean, sure, but why ... who comes up with that ... and why do I have to make it work1
-
I'm trying to generate a PDF from a website (https://devhints.io/react) on Ubuntu, but the two packages I tried (htmldoc and htmltopdf) both split the code at onto separate pages. I'm trying to have the code blocks on one page or start a new page and then have the title of the code block and the code block.
Any ideas?2 -
Can we say that "a basic website is a type of app that serves documents", implying a website is more specific than an app, and the most common type of data served is in the form of a document (html, pdf, json, xml).
I'm trying to see how this argument does for/against flat-file cms'es in specific/ general cases per type of app/ website.1 -
PAGE BREAK AFTER IS FUCKED UP. FML
ok guys, if you have any recommendation or alternative to page-break-after, please let me know. im desperately in need of a goddamn solution.
heres my problem, ive got a table, inside the table is the tbody, now i only want two rows to be displayed in each page (im doing html for pdf docs). so what ive been trying to do is adding <tr class="display:block;page-break-after: always !important"> whenever it meets the condition (rowCount%2!=0).
Ive been trying to figure this out for the last 12 fucking hours. cheesus fucking crust. ik this isnt stackoverflow but stack hasnt really been helpful as well :( FML6