HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
4lex4
scantailor-advanced
C++2019–2026
4lex4 / scantailor-advanced

scantailor-advanced

ScanTailor Advanced is the version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes.

10Distinct people
13Mentions
0Explicit recommenders
1.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

ScanTailor Advanced is the version that merges the features of the ScanTailor Featured and ScanTailor Enhanced versions, brings new ones and fixes.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year13 dated mentions

Observed mentions: 2019-07-29 13:32:23 UTC to 2026-03-29 18:26:28 UTC.

02462019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC606
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

13 sources
There's a bunch. Here's what I do (for black-and-white text; I'm not sure how to deal with more complex scenarios): Scan with 600dpi resolution. Nevermind that this gives huge output files; you'll compress them to something much smaller at the end, and the better your resolution, the stronger compression you can use without losing readability. While scanning, periodically clean the camera or the scanner screen, to avoid speckles of dirt on the scan. The ideal output formats are TIF and PNG; use them if your scanner allows. PDF is also fine (you'll then have to extract the pages into TIF using pdfimages or using ScanKromsator). Use JPG only as a last resort, if nothing else works. Once you have TIF, PNG or JPG files, put them into a folder. Make sure that the files are sorted correctly: IIRC, the numbers in their names should match their o
Read the rest
rder (i.e., blob030 must be an earlier page than blah045; it doesn't matter whether the numbers are contiguous or what the non-numerical characters are). (I use the shell command mmv for convenient renaming.) Import this folder into ScanTailor ( https://github.com/4lex4/scantailor-advanced/releases ), save the project, and run it through all 6 stages. Stage 1 (Fix Orientation): Use the arrow buttons to make sure all text is upright. Use Q and W to move between pages. Stage 2 (Split Pages): You can auto-run this using the |> button, but you should check that the result is correct. It doesn't always detect the page borders correctly. (Again, use Q and W to move between pages.) Stage 3 (Deskew): Auto-run using |>. This is supposed to ensure that all text is correctly rotated. If some text is still skew, you can detect and fix this later. Stage 4 (Select Content): This is about cutting out the margins. This is the most grueling and boring stage of the process. You can auto-run it using |>, but it will often cut off too much and you'll have to painstakingly fix it by hand. Alternatively (and much more quickly), set "Content Box" to "Disable" and manually cut off the most obvious parts without trying to save every single pixel. Don't worry: White space will not inflate the size of the ultimate file; it compresses well. The important thing is to cut off the black/grey parts beyond the pages. In this process, you'll often discover problems with your scan or with previous stages. You can always go back to previous stages to fix them. Stage 5 (Margins): I auto-run this. Stage 6 (Output): This is important to get right. The despeckling algorithm often breaks formulas (e.g., "..."s get misinterpreted as speckles and removed), so I typically uncheck "Despeckle" when scanning anything technical (it's probably fine for fiction). I also tend to uncheck "Savitzki-Golay smoothing" and "Morphological smoothing" for some reason; don't remember why (probably they broke something for me in some case). The "threshold" slider is important: Experiment with it! (Check which value makes a typical page of your book look crisp. Be mindful of pages that are paler or fatter than others. You can set it for each page separately, but most of the time it suffices to find one value for the whole book, except perhaps the cover.) Note the "Apply To..." buttons; they allow you to promote a setting from a single page to the whole book. (Keep in mind that there are two -- the second one is for the despeckling setting.) Now look at the tab on the right of the page. You should see "Output" as the active one, but you can switch to "Fill Zones". This lets you white-out (or black-out) certain regions of the page. This is very useful if you see some speckles (or stupid write-ins, or other imperfections) that need removal. I try not to be perfectionistic: The best way to avoid large speckles is by keeping the scanner clean at the scanning stage; small ones aren't too big a deal; I often avoid this stage unless I know I got something dirty. Some kinds of speckles (particularly those that look like mathematical symbols) can be confusing in a scan. There is also a "Picture Zones" rider for graphics and color; that's beyond my paygrade. Auto-run stage 6 again at the end (even if you think you've done everything -- it needs to recompile the output TIFFs). Now, go to the folder where you have saved your project, and more precisely to its "out/" subfolder. You should see a bunch of .tif files, each one corresponding to a page. Your goal is to collect them into one PDF. I usually do this as follows: tiffcp *.tif ../combined.tif tiff2pdf -o ../combined.pdf ../combined.tif rm -v ../combined.tif Thus you end up with a PDF in the folder in which your project is. Optional: add OCR to it; add bookmarks for chapters and sections; add metadata; correct the page numbering (so that page 1 is actual page 1). I use PDF-XChangeLite for this all; but use whatever tool you know best. At that point, your PDF isn't super-compressed (don't know how to get those), but it's reasonable (about 10MB per 200 pages), and usually the quality is almost professional. Uploading to LibGen... well, I think they've made the UI pretty intuitive these days :) PS. If some of this is out of date or unnecessarily complicated, I'd love to hear!
In LibGen's Bloat Problem
I use a £15 arm with a vice grip for my phone from Amazon, copy the files to my laptop and then run a bash for-loop of the tesseract CLI over the resultant files. I use https://github.com/4lex4/scantailor-advanced to deskew the images and generate the PDF. It isn't perfect but my purposes are more around research than publication, so, YMMV!
In Tesseract OCR
Interesting question, but I suspect that there isn't such a convincing use case for this as forged currency is for tracking color printers. Does government use paper as a security boundary, and if that's the issue, wouldn't it suffice to have the scanners in the relevant offices log everything they are scanning (which I think they already do)? Also, almost all such watermarks would be easily destroyed by bitonalization and despeckling, which is usually done anyway to reduce the file size (e.g. it's part of the default operation of https://github.com/4lex4/scantailor-advanced ). Arguably the same is true for yellow dots if one is leaking scanned printouts, but identifying leakers is not the main purpose of the dots... If one really wanted to, one could try embedding little holes into certain letters and hope they survive the smoothing algo
Read the rest
rithms and don't stand out too much. Not sure how successful that would be, though.
In List of Printers Which Do or Do Not Display Tracking Dots
Though it doesn't help with someone trying to keep their notes in a bound notebook, I'm a huge fan of scanning notes and papers and here's my setup: 1. Scan with a Fujitsu fi-6130. This scanner is out of print and I believe the successors are the 7160 and 7180. When I purchased mine, it was somewhere between $900-1000 and I've used it actively for about a decade with zero issues. 2. Use xsane for scanning 3. (Optional) Use scantailor-advanced (https://github.com/4lex4/scantailor-advanced) for any cleanup 4. (Optional) Use tesseract for any ocr (does not work on handwritten notes, but works great for scans of papers, bills, etc.) Generally speaking, I take hand notes on research topics and the collect them till I need to travel or get too many. Then, I scan each small collection into its own file. To make this easier to
Read the rest
back walk, all notes are dated, numbered, and given a general topic/title as I write them. Once they are scanned, they go into their own pdf file with a long file name that contains the date, title, and keywords that I want to use to find it. If there's a long thread of thought that needs to cross reference multiple files, I've added that information directly to the hand written note with a comment like (these notes use the following results from this date). While not perfect, I've thousands of pages of notes and I've always been able to find what I've been looking for with little effort. I'm not sure anyone else could look at what I've done and search it as effectively because I kind of know how I think about problems and label things, but it works for me. As a couple of other small tidbits: - It takes too long to individually fix each scan using scantailor. A good scanner with a straight scan is *much* better than fixing things by hand. I will do it if I have to, but I'm disappointed in myself when I do. - Slow scanners will kill this methodology and make things too burdensome. Don't use a flatbed scanner. Get a fast scanner with an autofeeder. They are expensive, so expect about $1000. That said, I've scanned tens of thousands of documents on mine and it's never failed, so a good scanner is worth the money in my opinion. - I have thought about using a tablet like remarkable to take notes. My issue is that since I already own the scanner and paper notes are so incredibly robust especially when I'm on travel, I've been unable to justify the money. Though, annotating pdfs may be nice and a scanner doesn't help with that unless we want to print, markup, and then rescan, which is a little wasteful.
In How to digitize your lab notebooks
One problem that I have with OCR is dealing with images of pages that are warped. I have some books that I would like to turn into electronic books, but not enough to justify setting up a book scanning rig (framework, two cameras, platen, etc). Setting up a document camera is fairly easy, but using it to take pictures of a book laying flat on the base produces images where the pages are warped and most OCR software seems to have problems with warped pages. After a fair amount of searching I found ScanTailor: https://github.com/4lex4/scantailor-advanced#scan-tailor-adv... which seems to have the capability of dealing with warped page images. I haven't actually gone through the complete workflow with it yet, but it seems to be a very capable OCR package.
In Ask HN: OCR framework for extracting formatted text?
This doesn't completely fix your issue, but since you mentioned deskewing, I clean up my scanned documents using ScanTailor Advanced: https://github.com/4lex4/scantailor-advanced I find the autodeskewing algorithm to work well, but it allows hand adjustment as well, which I like. As I've gotten better as using it, I've been able to get the size of my scanned documents down considerably by cleaning up the scans. This includes some old manuals. As far as the pdf encoding itself, I use both mutool, from mupdf, and qpdf. I just checked and it looks like while they both compress their streams, it may not have the same flexibility with Acrobat Pro. For me, I'll decompress, edit, and recompress streams on the files and that's been fine for my use. That said, if someone knows of a better tool for compressing streams in a PDF, I'd be intereste
Read the rest
d to hear about it as well.
In OpenPDF 1.3.0

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.