Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Make Your PDF Look Scanned (scanyourpdf.com)
607 points by baicunko on May 12, 2020 | hide | past | favorite | 168 comments

From the github repo, the site is a wrapper around exactly two shell commands. Instead of uploading your data to an untrusted site, you can run from the comfort and safety of your local computer:

  convert -density 150 input.pdf -colorspace gray -linear-stretch 3.5%x10% -blur 0x0.5 -attenuate 0.25 +noise Gaussian -rotate 0.5 temp.pdf
  gs -dSAFER -dBATCH -dNOPAUSE -dNOCACHE -sDEVICE=pdfwrite -sColorConversionStrategy=LeaveColorUnchanged dAutoFilterColorImages=true -dAutoFilterGrayImages=true -dDownsampleMonoImages=true -dDownsampleGrayImages=true -dDownsampleColorImages=true -sOutputFile=output.pdf temp.pdf

Try this one-line ImageMagick command to make COMPACT pseudo-scanned files:

  convert -density 150 ORIGINAL.pdf -colorspace gray +noise Gaussian -rotate 0.5 -depth 2 SCANNED.pdf
Consider using `-depth 1`, `-depth 3` as a final parameter to map colors to only 2¹=2 or 2³=8 instead of 2²=4 gray levels. Using a small number of gray levels SIGNIFICANTLY reduces file size and also gives your pseudo-scanned document a more pixelated, it-just-came-out-of-my-old-printer look.

Also consider using `-density 100` or even `-density 75` for long text documents. Using a density of 75 dpi produces documents that are 4x smaller than 150 dpi (75²=150²/4) and doesn't affect the readability of normal-sized (10-12pt) text that much.

Finally, sometimes it works best not to add Gaussian noise.

Rather than making a COMPACT version, your command created a file over twice the size of one created using the aforementioned

convert letter.pdf -colorspace gray \( +clone -blur 0x1 \) +swap -compose divide -composite -linear-stretch 5%x0% -rotate 1.5 as-scanned.pdf

However, that may be a useful feature, since many users end up inadvertently creating very large PDFs when scanning.

If you lower the resolution those auto-scanning services that does OCR on the documents will get problems converting the tex back to normal text. Which might or might not be the point of doing this in the first place... :-)

Just remember that if you make it harder for OCR to produce accurate text from an image, you also make it harder for blind people to read it.

The output file size relative to other approaches will depend on the contents of the input file (e.g., does it embed any bitmaps, or is it only text in non-rasterized fonts?), the density you use (e.g., 150 dpi is 4x greater than 75 dpi), the bit depth you use (3 bits is 4x greater than 1 bit), and whether you add noise or not. Also, the one-line command above your comment is short/easy to remember and reasonably fast -- which is useful if you're impatient like me.

All that said, note that you can always add a `-compress <compression method>` to the convert command, although this could make it noticeably slower, say, for a directory full of long documents. There's even a Fax TIFF compression method that makes the document look like it came out of one of those fax machines you see in movies from the 1980's. To get a list of supported compression methods, type `convert -list compress` at the command line.

I'm taking notes on all comments, I will test what you mentioned to see how the document ends up looking, thanks!

pmiller2 linked[0] to some alternatives[1], including this one[2] which only requires ImageMagick:

convert letter.pdf -colorspace gray \( +clone -blur 0x1 \) +swap -compose divide -composite -linear-stretch 5%x0% -rotate 1.5 as-scanned.pdf

[0] https://news.ycombinator.com/item?id=23157979

[1] https://tex.stackexchange.com/questions/94523/simulate-a-sca...

[2] https://tex.stackexchange.com/a/94541/185219

I'd recommend GS after ImageMagick as IM will hugely increase the size of the output due to rasterization!

But isn't rasterization necessary for this deception to work? Unless there's some magical scanner out there that's outputting vector images.

Whether leaving as vector works depends on how much your recipients care to investigate.

The above convert command produced credible output only 6KB larger than the input PDF in my limited testing.

When I tested using only IM I was getting 3x file size. I will further test your command to see how this improves the current situation, thanks!!

But that in itself is a tell.

Anyone unsophisticated enough to require you to print and handwrite a signature is also unsophisticated enough to not realize that the PDF size is a tell.

The whole purpose is to make a new PDF that looks like it was scanned. The file size differing from the original is a feature, not a bug.

In summary you could say yes but I wanted to simplify the process for the not-so-techy person. I will work on a Standalone app that simplifies the command and shows a nice GUI for more private documents

I hope you don’t take the comment you’re responding to as anything negative. I’m a software engineer and I would use this myself rather than try and remember some arcane command line utility.

Make it a bash script! I have all kinds of scripts for things I don't want to remember in my ~/bin.

Not at all, I'm actually quite happy with all the comments, ideas and feedback I've received on this, really encourages me to keep improving the project

A software engineer!?? On HN!?? IMPOSSIBLE

i just tell people the dropbox app will scan docs for you. comes out looking like a photocopy. perfect for the bankers.

Sounds like a plan to compile it into WASM and run locally inside any browser.

To be honest, I'm waiting for a boom of such services, that can be run in a separate tab without any network jumps.

For other noobish windows users like myself, you can simply dump the following into a bat file. When run, it'll look for a file called "scanThis.pdf" and apply the conversion with ImageMagick.

   IF EXIST scanThis.pdf (magick convert -density 100 scanThis.pdf -colorspace gray +noise Gaussian -rotate 0.5 -depth 2 SCANNED.pdf) ELSE (ECHO File scanThis.pdf not found & PAUSE)

Sorry, I'm a long term Windows user but not very proficient. That can't be there entire contents of the bat file, can it? What else goes in there?

Nope that's it. The bat file here is just a clickable shortcut so you don't have to remember the whole command. The interesting stuff is happening in ImageMagick, which has to be installed already.

Ok thanks, that's interesting. I might give it a shot

It should be '-dAutoFilterColorImages=true' instead of 'dAutoFilterColorImages=true' for the gs command.

Show HN: FalsiScan – Make it look like a PDF has been hand signed and scanned (770 points, 34 days ago) https://news.ycombinator.com/item?id=22811653

Thought this sounded familiar.

I recently came across a couple of institutions which required me to print, sign and send back a couple of documents. COVID and all of that means I don't have a printer at home. I made this website by inspiration from other posts here and now it's free to use! Code is open source so feel free to comment any new ideas or things you would like includede!

Pretty cool idea!

One suggestion: add thumbnail/preview of how docs will look like after "scanned". Or maybe even a "Before and After" teaser! :)

I'm adding this to the pending in GitHub, great idea

Suggestion: For multi-page documents, it would be nice to use slightly different rotation parameters for each page.

> COVID and all of that means I don't have a printer at home.

I recently felt privileged enough to get a printer at home in the workroom of my 2bd apartment in San Francisco.

And yet, it ran out of toner! The notaries wanted documents already printed! The print shops are all closed! What the deuce!

I got one to sympathize with me, she wouldn't take my flash drive, but ran out of excuses when I said I have the files on my iphone's file section and could email them.

What do you mean "required"? Like, they wouldn't accept a clean, non-scanned copy? That's absurd.

Some types of documents/deeds do require "wet ink" signatures by law - https://www.lawsociety.org.uk/support-services/advice/articl...

7 years of being a digital nomad, and signing every document digitally, and I never ran into this. TIL.

Unless there is a serious challenge to the contract no one cares. You obviously are okay with the contract and are signing it (if only in an obfuscated, non-physical sense), and they're just looking for a signature that could be kinda real -- if you're good with the deal, and they're good, who cares?

But scanning these documents defeats the point. The law isn't saying "it must be signed with wet ink, but after that a scanned copy is sufficient", it says you need the actual paper with the wet ink signature.

> If you’re a solicitor responsible for registration, you need the other parties' solicitors, on closing, to send you the wet-ink signed parts of the documents. You’ll only proceed when you have the wet-ink signed documents, not when you have seen electronic images of them.

I usually sign documents on my iPad but in this case they told me the signature had to be from a pen. COVID and everything means I don't have a printer nor a scanner at home so I developed this to "scan my iPad signed documents" worked like a charm!

As a technological toy, I think this sort of thing is cool. In fact, you can do it in LaTeX pretty easily: https://tex.stackexchange.com/questions/94523/simulate-a-sca...

It's interesting that the problem they had was with the signature. You can very easily make a handwritten signature on an iPad. I don't see how there's any practical way to tell the difference between a high-quality, handwritten signature done on an iPad with either a finger or an Apple Pencil and a scanned signature done with a pen.

Are you sure that's not just some excuse they gave you?

> you can do it in LaTeX pretty easily: https://tex.stackexchange.com/questions/94523/simulate-a-sca...

Ironically, despite being hosted on tex.stackexchange.com, all of the answers use ImageMagick, Photoshop, or Windows 10/Adobe Acrobat.

Interestingly, there are LaTeX packages for coffee stains[1] and to simulate the variability of an actual typewriter[2]. I suppose both of these involve discrete objects (the coffee stain, individual characters) and photocopy/scan effects involve 'fuzzing' of the whole image, rather than any particular element, and TeX isn't really set up for the former.

[1] http://hanno-rein.de/archives/349

[2] http://mirrors.concertpass.com/tex-archive/macros/luatex/lat...

What do you use to sign PDFs on your iPad?

I just use my regular Good Notes 5 app and then export back the PDF

Banks that need monthly financials to assure regulators that they are servicing their loans are also required to justify the documents to the regulator. If you just autogenerated it perhaps they’re wrong or falsified. While if you have to take out a pen and sign them that won’t happen.

Yes, absurd.

That's beyond absurd. The content of the document is what determines whether it's falsified or not, and you can inspect the content for inconsistencies on a generated PDF far more easily than a scanned one.

In this case I think it’s the business auditors (pwc etc) assuring “best practices” that will satisfy the regulators and thus the regulatory auditors (Federal reserve, treasury, FDIC...).

Banks are themselves full of absurd practices but in this one tiny area I’d give them a pass.

Yes, this is a lawyers version of a patch to fix bugs that programmers sometimes introduce.

A couple of years ago I used DocuSign on a contract, and the PDF “copy” I was emailed as a receipt had different terms than the one I actually signed.

Luckily I did not object to the discrepancy, but I would have wondered what would have actually happened if I did.

What?? Is this public? Have others reported this happening? That would be a huge issue!

Let me clarify by stating that I am not necessarily claiming that there is/was a software issue with DocuSign. There are also some big procedural differences between signing a hard copy and the way most electronic signature systems work. I could have been fooled by the user.

Regardless, I am sure there has been a version of a some document signing software somewhere that had a bug with immutability. Now paper documents aren't immutable either, but you couldn't accidentally change one with a bad where clause in a SQL statement, and casual attempts will leave evidence of the change.

> Now paper documents aren't immutable either...

BTW this is why numbers in contracts are often written “1 (one)”: because in the age of pens it was easy to change “1” to “10” or “4” or “one” to “none”

Also why checks do this — checks are actually simply contracts, which were standardized in the US a bit in the 1920s (you’d get a check form, fill in your name and the bank name, then the amounts, etc; current check design With preprinted bank info dates back I believe to the late 1960s.

I had the same issue recently. What I did is sign a blank paper, take a pic of it with my phone and copypasted the text over the blank page with The Gimp.

I used to do that, but nowadays I tend to sign things on iPad. When using the stylus it looks exactly like it was hand signed (even without the stylus, I can just zoom way in and make it look kinda hand signed). The pdf is of course not scanned looking, but nobody had complained yet.

This is basically what Adobe Reader does with its signature feature.

I am fairly close to various expat communities in my city. "Where can I print this document" is a very common question. It also affects tourists who need printed tickets that are only available a few days before their flight.

What a great technology solution for a very non technical ... sort of luddite-ish introduced problem.

As others noted a before and after pic would be great.

it occurs to me that you could do this with a lower tech method, just sign your name on a piece of scotch tape and align the tape on the monitor over the document, take a photo with your phone and then use that as the 'scanned image' in the pdf file.

Taking a picture of a monitor with a will usually result in a Moire pattern[1] since the image sensors is a grid and the display pixels are grid.

Just tried this. Orienting your phone at 45 degrees to the monitor can mostly reduce them, but that's not really that useful.


Who owns pens in 2020?

Edit: fixed now.

Original: Please don't upload any private or confidential pdfs right now. I emailed OP two security concerns that trivially allow anybody to see any of the converted pdfs.

It's still far short of being suitable for use of any private documents.


This is rather less than secure; output files are named, e.g., "Scan_2020512_{four random lower-case letters}.pdf" into a web-server-readable directory.

That gives a total of 456976 different possible filenames on a day. It's more than feasible to brute-force that many filenames in the hour before files get deleted.

OP: I don't think randomly-suffixed file names are an inherently bad way to approach this. But you should definitely consider using a longer random string, and definitely consider not using the `random` module too (it is not secure and is not intended to be).

Thank you for the comments. I agree with you, I will decrease how long the file is in the server (I just hit 40gb from hacker news) as well as implement rate limiting to prevent any brute force

Rate limiting (if by that you mean at the firewall or the web server) is not the way to do it. That shifts the problem somewhere else in the stack, into a place that isn't under version control in the same repository.

Consider: If you moved this on to another server, would you remember to enable rate limiting there? If someone else uses your code, will they know to enable rate limiting?

Rate limiting isn't a bad idea, but your security should not depend on it, especially as you have a way of securing it in your application. base64.b16encode(os.urandom(8)) will give you a 64-bit, filename-safe, as-close-to-random-as-reasonable suffix that should be long enough to make it brute-force-proof :)

The same reasoning applies to the cron job (I presume) that is cleaning your files - that's something you have to remember to set up for future (re-)deployments.

Edit: I'd also like to add that showing your code on HN takes bravery and this is, in fact, a neat tool that solves a problem I really wish didn't exist. So, good work on both counts :)

Hey thanks - somehow, I entirely missed this being a Thing in the stdlib in 3. :) I've used it in my PR on baicunko's repo.

I know this doesn't really add much to the discussion, I just wanted to let you know I really, really appreciate HN over other sites for comments like this. Ones that help you learn something new in a really intuitive and on top of that "non-condescending" way (for lack of a better word I can think of). Thank you!

Hey, I know I was not as positive & encouraging as I should have been initially, hence the edit on the end. But thank you for the kind words mate, that actually means a lot to me. <3

thanks! took me quite a while to prepare as I read a bunch of other servers failing catastrophically when posting on HN due to the sheer amount of traffic.

I will start working on your comments throughout the weekend, I agree with most of them. Would love for you to follow the github page for any other comments you may have, all are appreciated

It was while reading my above comments that I realised I should have shut up and contributed code instead, because that's definitely more helpful than being critical on HN, especially to a newcomer & their first project.

So that is what I've decided to do! First step: a PR coming out of getting this up and running on my Ubuntu box. :)

No worries I think it's great that everyone is voicing their comments. Also, thanks for the PR, will check them later once everything is more normal!

Or use a uuid4 for the suffix.


  >>> tempfile.mkstemp(suffix='.pdf')
  (4, '/tmp/tmp0g7l3uq7.pdf')
one could take it a step further...

  >>> tempfile.mkstemp(suffix='.pdf', prefix=uuid.uuid4().hex)
  (5, '/tmp/7b7881400a2348bfae63d37b970d4489pqhz_1g2.pdf')

You probably shouldn't be uploading sensitive pdfs regardless.

Fixed. Sorry, forgot to configure nginx.

I manually modified the private key on the server before publishing here. Still learning on ENV VARIABLES and I couldn't make them work!

You might want to just switch to a dotenv library. Quick Google for Django yielded https://github.com/jpadilla/django-dotenv

Dotenv libraries are just for dev and other similar environments. In production you should still use normal environment variables (or whatever system you use to load your configuration), as dotenv files stay on the filesystem and sometimes even committed to your SCM.

haha this is like those domain name search websites that just automatically register the good sounding domain names for themselves once the user types it in.

do you OP! I think it still provides a service, enjoy all the secrets

If you upload secrets to public sites you're in trouble regardless of whether they claim "secure" hosting or not...

And what makes you think the operator has nefarious intent?

I thought github had hooks for this kind of thing now? I remember it caught a private key I tried to push to a similar django repo (not for a prod site or anything), and that was about 2 years ago

I think this only works for secret keys that have a certain pattern like AWS keys.

Great you decided to share the source code, but then I was able to see that you let the admin session enabled. you can disable that on production


Thanks! I will implement this once the traffic from HackerNews decreases a bit (server is getting totally hammered).

Still there's no admin user configured so it's safe

Not to detract from this, because it is brilliant, and I'll definitely use in the future as a last resort.

Before resorting to this, I've found that if I convert the PDF to an image, and send it as a TIFF file, that is usually what the organization's people are looking for. I haven't had to do that for years now.

On the extremely rare occasions someone asks if I signed it on "real paper" (lol), I say with a straight face, "yep, I'm a computer guy, I have a really good scanner and image software". I do. It's just gathering dust. Last time that happened was about 5 years ago.

Over 20 years ago, I wrote my signature in thick, black Sharpie across an entire letter-sized, landscape-orientation page, scanned it with the highest resolution scanner I could cadge at the time (600 dpi, wooo!), laboriously cleaned it up, added an alpha channel, then even more laboriously vectorized it. Ever since then, dropping my signature into PDF's has worked except for those situations where a physical, wet-signed notarized document was required.

At first I took to the trouble to convert the resultant PDF into TIFFs and digitally sign them. Then with some experimentation I found that flattened and stripped PDFs without the digital signature were accepted without comment. Further experimentation revealed to me that only developers like us could even tell the difference, and plain PDF's where I dropped the signature into them are accepted these days.

Now, I use an Acrobat DC stamp that I converted from the vectorized form, and haven't touched the old bitmap or vectorized versions in years. Ironically, the most secure option of digital signatures gave me the most problems.

Impressed to see this is your first open source project! What a fantastic blend of simplicity, technology, and wit.

I love it.

Original (was PDF): https://i.imgur.com/v5nn1ql.png

Processed: https://www.scanyourpdf.com/media/Scan_2020512_wegb.pdf

Thank you!

I can't believe that I'm saying this but this is soooo needed. It's ridiculous to me how many organizations still require hand-signed copies as if that is somehow a deterrent to anything.

I have to submit my work hours in an excel sheet. There is a section for "Signature". I didn't put anything since it's an electronic file and my email sending the file should serve as a "signature". However, my manager insisted I use a cursive font to type out my signature.

What if your signature can't be spelled (mine doesn't mean anything, it's just random symbol) ? Ridiculous

Related, I was once applying for an apartment lease. I had entered an incorrect value on some field on one of the forms. The kind person emailed me the form pointing out the mistake and told me I would have to fix it before they could accept the application and would have to come back in.

Not wanting to drive a few hours, I exported the unsigned pdf as images, quickly made the fix, converted it back pdf, and sent it away with a message saying not to worry, I fixed the problem.

Then communication ceased. I couldn’t get a reply. When I called, they put me on hold and said they were no longer taking applications (they claimed many units were available before).

I like to think the pristine color and noise matching, from my especially mediocre photoshop skill, was too convincing, and made them worry.

if only there was a global pandemic that specifically targeted the legal counsel who would maintain these requirements

Not saying this site is, but it makes me think of all the (less legit) file conversion websites which are basically portals to harvest your documents (or your aging parents' documents that they don't otherwise know how to convert), and you later find they appear on crappy sites like Scribd. Or worse.

I use these to 'accidentally' upload marketing collateral. Got some clickbacks through unique UTMs so I know it works.

Any chance you could elaborate a bit? This sounds interesting but I'm not in the know enough to read between the lines.

You were trying to see if someone was sniffing the documents uploaded (and confirmed they were).... or you realized you could use them as a vector though which others would post your materials on websites elsewhere (and they did)?

The latter. It goes all over the place, so that's cool.

Were these PDFs? I wonder if they were human or automated clicks. Also do you recall which website?

In my case, for other reasons I had to make it a short bit.ly link that wasn't a hyperlink. Someone actually had to type it in to get there!

I find that digital books are simply too perfect. There should be pdf fonts where there are maybe 10 incantations of each character, and the display:

1. picks one incantation randomly for each display 2. slightly and randomly alters the position/rotation of each character 3. adds a tiny blotch now and then

Like the print in a real book, especially ones printed before 1970.

I also suggest that the background be an actual scanned image of a blank piece of paper. Those "paper color" backgrounds are too perfect. Take some blank pages out of an older book sometime and scan them, and you'll see what I mean.

Most of the "book simulation" features I've seen (background textures, page turn animations, the like) have come across as gimmicky and useless, meanwhile digital books tend to still suffer from conceptually simple formatting problems like poor responsive text reflow or baking detailed vector figures into tiny JPEGs.

I'd settle for "too perfect" in a heartbeat.

I've sent many suggestions to the Kindle people of things they could improve on the Kindle, all of which were very simple to do. The years go by, they've done exactly 0 of them.

One of them, for example, was an option to eliminate the margin in a pdf display. The pdf already has a margin, so there's the pdf margin plus the margin the ereader puts around the pdf. This significantly reduces the number of pixels displaying information.

Making PDF display better doesn't make them any money.

More likely, there are multiple sev5 issues for it in the ticket system that nobody will ever get around to implementing.

i feel this, and i think i finally understand why people like vinyl static.

Yes. People wrongly argue that vinyl sounds are more accurate. CDs are more accurate. But CDs are perfect, and for us older folks, the sound of vinyl, with its scratches, pops, crackle, rumble, and crosstalk has a comfortable nostalgic appeal.

Haha, great job. There's also something to be said for the grim humour of how technology led us to this point.

Sadly, I'd also be extremely wary of sending the kind of documents that I need to print out and sign through some server-side black box.

I was in need of this recently, and found that an ImageMagick one-liner can do the job quite nicely: https://gist.github.com/andyrbell/25c8632e15d17c83a54602f6ac...

Thanks, I totally agree. That's why I made the code public so you can see what's being run. A friend very privacy-minded told me maybe a desktop app could be used by those who don't want to upload their documents so that's something I'm currently exploring

> made the code public so you can see what's being run

The thing is, sharing a repository does not prove that the server is running that same code. And someone worried about their document security wouldn't run some random binary locally either, because it could send the document off to a server. They would run the source code locally after reading it, which sharing the repository allows for.

This is very cool, I have the same concern. Most documents I need to scan like this have my PHI or PII on them and I wouldn't trust uploading to a third party, and especially free, site. What I will add to the conversation is that seeing the source code and trusting that you're running that exact code are different thing. Would love to see this as something I could run locally after cloning the repo, as a python or npm script or some. Very cool work overall!

Yep an easy to download cross-platform Desktop App would be awesome. Or building it into pandoc

Suggestion: Include some before/after examples

This. I had no idea what this did until I read a couple of HN-comments. The short introduction could mean a couple of things:

Just downgrading the pdf? Looking for a signature-like part and turns this to pseduo-handwritten characters, maybe changing the color? Something completely different?

Naturally, I did not want to upload a potentially confidential document to some random webservice.

I actually had a pdf file containing several pages of "Lorem ipsum" that I needed for another thing, but I deleted it yesterday because I was done with it.

I've extracted the oneliner command that runs this into a gist of a simple bash script. I don't want to send my PDFs to an unknown server. Also modified a bit (density and output compression) to reduce file size. https://gist.github.com/jduckles/29a7c5b0b8f91530af5ca3c22b8...

Great idea, I will probably include your gist in the original GitHub mentioning you

Neat site, but is this really necessary? I switched to digital-only PDFs (edit online & slap in image of signature) a long time ago, without doing any obfuscation to make them look "real", and I've never gotten any pushback from the various government agencies, banks, insurance companies etc that insist on signed & scanned forms.

I tried to get a refund from MyProtein about 18 months ago because my order never arrived. I filled in the refund pdf and slapped on a previously scanned copy of my signature that’s stored in the MacOS Preview app. They rejected it and said it had to be my real signature. I was really annoyed with them and haven’t shopped there since.

It looks like what is being used for the transformation is:

1) set to grayscale (optional), 2) add blur, 3) slight rotational tilt, 4) add gaussian blur (?)

You can go one further by randomly adding tiny artifacts (ie. specks) to add even more realism. Maybe even a simulated crease in a corner.

I will check regarding artifact. Also someone else mentioned to add random rotational tilt per page to ensure it looks more "legit"

This is cool and would be useful from time to time with some stupid organisations that insist for some reason on full scanning.

Perhaps one suggestion. Can you update your documentation a bit to make it easier for someone to be able to implement it themselves? There's not much about that on the Github and I would guess some people would rather run their own locally.

Apparently I'm the only person on HN that doesn't understand what a "scanned look" means, and the author doesn't provide any images to illustrate. Could someone enlighten me?

Sure! I tried to simulate the print, sign and scan of documents to avoid having to do it.

Sample PDF: https://campustecnologicoalgeciras.es/wp-content/uploads/201...

Output PDF: https://scanyourpdf.com/media/Scan_2020513_gtqh.pdf

EDIT: Forgot to mention that a before and after will be included in the website as it has been mentioned multiple times as a great way of showing what the website does!

I live in Germany and I never had anyone telling me that a PDF signed digitally wasn’t enough, especially if they expect you to e-mail it back to them. Is this a US problem?

Just had it in Germany with an application to a bank (DKB). Digitally signed one was rejected. I need to print on paper, sign and then scan. Signing the PDF in an iPad app was not OK.

Oh, interesting, then I guess I was just lucky. DKB is indeed well known for being quite old-school. I'll add that in my case the need for a printed and hand-signed copy was always connected to shipping the document or faxing it. Never through email.

I live in Italy and ING Direct did this to me. The same happened in Belgium with KBC, so I think some banks might still be doing this here, unfortunately!

What I do, is print the PDF as image, with 60% jpg quality. JPG artifacts make it look like normal quality scan.

I have my 3-4 copies of signatures as font file, along with initials.

Is this project different in some way from many already existing solutions that do the same?

I like that it is open source and in theory possible to self host since I really wouldn't want to upload my documents anywhere.

I would really like to know if a similar solution exists that is very easy to run locally or if it runs in the browser it does everything client-side?

I like to think this solution is way more friendly than using terminal for 99% of people. What others have suggested is to develop a stand-alone app for more private documents which can't be sent somewhere else

I didn't mean the terminal. Typing "make pdf look like scanned" into google returns me many websites with same functionality.

Your convert and gs mastery is truly impressive, great job and great project.

Slightly related: add artificial coffee stains to LaTeX documents: http://hanno-rein.de/archives/349

I believe printing, signing and scanning should be a punishable crime. It has a terrible impact on accessibility, as the whole text layer of the PDF is lost and it becomes unreadable for screen readers.

Only semi-related, but I thought their was an open source PDF-flowing tool featured on hacker news a while back (that turned PDF into responsive HTML). Anyone know of something like that?

Really question is in some cases, you still need to sign your signature and then scan the document again, I hope this website can let you add signature automatically...

For signing docs I open PDF in Illustrator and place my signature image then save and send. Are they really looking for signs of document having been scanned?

Pretty cool!

What I normally do in a pinch is use Google Drive.. it has a "scan" option that you can take a picture with your phone.

FWIW the output can be significantly better using PhotoScan app, also from Google, no idea why they don’t integrate them.

Needs options for adding dog ears and a shadow cast from the top of the page, and maybe stapler holes.

Funny thing is, some countries require documents to be signed on paper and then scanned. E.g. Japan.

What are the legitimate uses of this? The only uses I can think of are less than kosher.

Maybe you are at home and you need to sign something, but you don't have a printer and scanner because its 2020 and those are seldom needed. You can use this and move on with your life, or drive to a Kinkos or other place that will let you print and scan for a small fee. The latter may be a waste of time.

Wait, what less than kosher method were you thinking?

People who require "print, sign, scan" do so for the purpose of avoiding forgery, not because they benefit from any other aspect of the procedure. So long as you aren't putting someone else's signature onto the document, everything is kosher because you've deprived them of nothing given that forgery was successfully avoided.

It's like if all devices in your house have no internet connection, and your ISP support rep asks you to reboot your computer. You say "Ok it just rebooted" without rebooting because the reason for the procedure is simply to ensure that it's not an issue local to one device, and you have ensured that for them (albeit by alternative means).

That's a pretty cool project. Do you mind explaining your deployment process?

I will include a more in-depth deployment process in Github to simplify implementing this by anyone

Can this be done client side so the PDF does not need to be uploaded anywhere?

I will implement a desktop stand-alone app for those private documents which can't be uploaded somewhere else!

can you put an example picture side by side, right on the frontpage

Yes, I think it's a great idea. I'll work on this through the weekend and update the website with other feedback received. Thanks

Seriously, how stupid it is that this can be actually useful.

You may want to purge the key in your repo (settings.py)

Hav somebody download ROBLOX on a school computer

Why not deleting the file after 1 download?

I thought someone might want to share their document with someone else. I may include in a future release a max number of downloads (i.e. 2 or 30 minutes and then delete)

I once ran into this at work. Some (fairly old) android versions send two requests under certain circumstances. Someone else might elaborate this maybe.

Sometimes the download fails.

I just edit files with masterpdf under the linux free version, and send them back with a transparent png of my signature merged. Good enough.

example on landing page would be great

Genius. Nice work.

have somebody download Roblox on school compoter

Obligatory xkcd reference: https://xkcd.com/1683/

To OP:

the server is down.

Seems OK on my side. What are you seeing?

it works fine now.

Just one comment: maybe you could randomize the rotation angle so that all pages don't look the same.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact