3 ms·
Fair enough. I was providing alternatives, not prescribing a single solution. You'll notice I said what I use and also provided suggestions that I don't use. X
by frfl 3y ago
Fair enough. I was providing alternatives, not prescribing a single solution. You'll notice I said what I use and also provided suggestions that I don't use.
Xournalpp uses layers as well, hiding annotations is also possible there.
Just a different solution to the same problem.
Xournalpp, is free and open source. It is actually a fork of an older software called Xournal. If it stops being developed, C++ compilers aren't going anywhere, I'll compile it myself -- beyond that it's just pedantic to discuss what and what won't be possible in decades.
PDF readers on the other hand, especially proprietary ones have a bad habit of, for lack of a better word, enshitifying (cloud, saas, subscription, etc). I've had PDF a editor corrupt my PDF as well (sample size 1, so not indicative of all PDF editors), my fault for not having backups I suppose, but I've avoided them since.
But whatever works for you, I'm not here to dictate what you can or should use. Just providing ideas as the OP originally asked in the root comment.
Anyhow, the only solution that will survive ultimately is plain text. All others rely on abstractions upon abstraction (C++, compilers, libraries, etc). Plaintext is bits and bytes you can decode by hand if you wanted.
- wolverine876 3y ago> Fair enough. I was providing alternatives, not prescribing a single solution. Yes, I agree completely. Sorry that I gave a different impression. > Xournalpp, is free and open source. It is actually a fork of an older software called Xournal. If it stops being developed, C++ compilers aren't going anywhere, I'll compile it myself -- beyond that it's just pedantic to discuss what and what won't be possible in decades. Few users will compile anything, and eventually incompatibilities arise between the application and the latest platform. My PDF reader functions fine with documents that are decades old - that is part of the PDF specification; it's not pedantic, it's deliberately and successfully engineered. > PDF readers on the other hand, especially proprietary ones have a bad habit of, for lack of a better word, enshitifying (cloud, saas, subscription, etc). I've had PDF editors corrupt my PDF as well, my fault for not having backups I suppose, but I've avoided them since. There are many, many PDF readers. I have no problem finding a good one (I agree, stay away from Adobe, which you seem to describe). Yes, I'd be careful with PDF editors - that's not really what PDFs are designed for afaik.
- frfl 3y agoOne of the nice things about Xournalpp is that is just plain XML (the save file). So its really just plaintext, I don't have to bother with reading hundreds of pages of PDF spec to try and write a reader in the future. If I needed to, I only need to write an application capable of rendering a PDF page, then drawing text/lines as described by the XML. Assuming libraries to render the PDF will continue to exist in this theoretical future we're describing here. <stroke tool="highlighter" color="#00ff007f" width="7.86" fill="60" capStyle="butt">254.802 713.98302 283.955 713.98302</stroke> <stroke tool="highlighter" color="#00ff007f" width="9" fill="60" capStyle="butt">283.955 714.01302 539.992 714.01302</stroke> <stroke tool="highlighter" color="#00ff007f" width="0" fill="60" capStyle="butt">539.992 718.51302 539.992 718.51302</stroke> <text font="Sans" size="8" x="456.87471" y="427.46622" color="#ff0000ff" ts="0" fn="">Here the first capture group is `([\"'])`, which captures either a `"` or a `'`. Then the `(.-)` lazy matches any thing, and finally `%1` matches the original type of (closing) quote</text> </layer> </page> <page width="612" height="792"> <background type="pdf" pageno="95"/> <layer> <stroke tool="highlighter" color="#00ff007f" width="9" fill="60" capStyle="butt">120 78 169.674 78</stroke> <stroke tool="highlighter" color="#00ff007f" width="7.86" fill="60" capStyle="butt">265.784 77.97 292.676 77.97</stroke> <stroke tool="highlighter" color="#00ff007f" width="9" fill="60" capStyle="butt">292.676 78 397.442 78</stroke>
- wolverine876 3y agoVery cool. One thing I dislike about PDFs is the complexity, and like you I do use text when possible (text files aren't so great if I want to annotate them, unfortunately). Out of curiosity, is that SVG (which is an XML)?
- frfl 3y agoI think it's just XML, not SVG. <?xml version="1.0" standalone="no"?> <xournal creator="xournalpp 1.2.2" fileversion="4"> <title>Xournal++ document - see </title> <preview>iVBORw0KGgoAAAANSUhE...............</preview> <page width="612" height="792"> <background type="pdf" domain="absolute" filename="somebook.pdf" pageno="1"/> <layer/> </page> <page width="612" height="792"> <background type="pdf" pageno="2"/> <layer/> </page> ... <page width="612" height="792"> <background type="pdf" pageno="16"/> <layer> <stroke tool="highlighter" color="#00ff007f" width="9" fill="60" capStyle="butt">120 457.20601 540 457.20601</stroke> <stroke tool="highlighter" color="#00ff007f" width="9" fill="60" capStyle="butt">394.78 515.76399 540.01 515.76399</stroke> <stroke tool="highlighter" color="#00ff007f" width="0" fill="60" capStyle="butt">540.01 520.26399 540.01 520.26399</stroke> <stroke tool="highlighter" color="#00ff007f" width="9" fill="60" capStyle="butt">120 527.76399 156.1 527.76399</stroke> </layer> </page> Here's the top of the file for context.