Live data from Hacker News

Borb – A Python library to read, write, and edit PDF files

borbpdf.com

1–10 of 50 posts

Re: Borb – A Python library to read, write, and edit PDF files

#3
Some books starts counting pages after the table of contents and so the pdf page number and the book page number are not in sync.

I’ve seen some PDFs have the first few pages counted in Roman numerals and then “normal” numbers for the main content.

How do you edit an existing pdf to do that?

Re: Borb – A Python library to read, write, and edit PDF files

#4

Some books starts counting pages after the table of contents and so the pdf page number and the book page number are not in sync. I’ve seen some PDFs have the first few pages counted in Roman numerals and then “normal” numbers for the main content. How do you edit an existing pdf to do that?

Page numbers are part of the PageInfo object within a PDF, but it looks like currently this is generated naively [0], so I don't think multiple numbering schemes are currently supported by this library.

[0] https://github.com/jorisschellekens/borb/blob/master/borb/pd...

Re: Borb – A Python library to read, write, and edit PDF files

#5
I have a PDF of a hymn book that I want to convert to 2-up so I can use it that way on my reMarkable which only supports single-page display and not two-page spreads; but I also want all the internal hyperlinks (to and from a table of contents) to keep working. I haven’t found any software that seems capable of doing this (though I’ve only looked at FOSS; wouldn’t surprise me if something Adobe could do it). The closest I seem to have found is qpdf which might be able to do it with some programming effort.

Is that sort of thing going to be in scope for this library’s editing capabilities? (“Editing PDFs” is such a broad, open-ended thing.)

Re: Borb – A Python library to read, write, and edit PDF files

#6
I am a math professor with a scanned exam grading workflow that I hacked together as Bash scripts using various open source command line tools. I feed all the exams through a sheet-fed scanner, decode bar codes to identify problems and students, add radio buttons for entering and tracking scores (0-6 per problem), and create PDF "books" per problem for grading and annotating.

Having grad students help grade paper is a consistency nightmare: It's look once, never look back. Instead, after each of several provisional passes I recreate the PDF "book" for that problem, with a chapter for each score, and students randomized within each chapter. In the same spirit as "checking your work lets you work three times faster" this is actually both more consistent and faster that a single pass over paper. Almost all of my attention is on the math, which I'm good at, rather than locating problems and finding again the ones I know I misgraded, which I'm not good at.

Then each student's exam needs to be extracted from these problem PDFs, scores recorded, and annotations frozen.

There are cloud services for grading. They're hopelessly primitive, with cloud lag. Like a gamer, I used to reject wireless mice because of the lag. I reject these services. I can grade everything myself faster than using a team of grad students, with the right local tools.

The PDF format is a morass. My hats off to anyone who will work with it. There are many evolutionary layers and no formal specification or verification; one tests a PDF by seeing if most programs accept it.

It's time for me to rewrite my grading system in a modern scripting language, so others could use it. I prefer Ruby, but that's mainly to stave off boredom when I'm not using Haskell. I can use Python. This would permit a more robust workflow, such as adding late exams in mid-grading without losing grading in progress.

I can't find documentation for Borb, to check off the list of features I'd need. I suspect from this being a one-person project that I might need to continue to patch together external tools.

Re: Borb – A Python library to read, write, and edit PDF files

#7
post #2

Amazing, I've been yearning for something like this for years but have always been told it's impossible. Can't wait to try it

It is literally impossible for all PDFs, since some of them may not have any kind of semantic structure and consist of a set of graph bitmaps laid out at specific coordinates to make up blocks of text.

Re: Borb – A Python library to read, write, and edit PDF files

#8
post #6

I am a math professor with a scanned exam grading workflow that I hacked together as Bash scripts using various open source command line tools. I feed all the exams through a sheet-fed scanner, decode bar codes to identify problems and students, add radio buttons for entering and tracking scores (0-6 per problem), and create PDF "books" per problem for grading and annotating. Having grad students help grade paper is…

> Having grad students help grade paper is a consistency nightmare: It's look once, never look back.

Captcha-ize them, with several of them grading the same result, and with checking their responses against each other?

Re: Borb – A Python library to read, write, and edit PDF files

#9
post #6

I am a math professor with a scanned exam grading workflow that I hacked together as Bash scripts using various open source command line tools. I feed all the exams through a sheet-fed scanner, decode bar codes to identify problems and students, add radio buttons for entering and tracking scores (0-6 per problem), and create PDF "books" per problem for grading and annotating. Having grad students help grade paper is…

Perhaps you might be interested in the Zesje project: https://gitlab.kwant-project.org/zesje/zesje
Post reply on HN