Markdown layer on top of pdf

Would it be possible to generate a markdown layer on top of a pdf?
Then you could link words specifically inside a pdf.

8 Likes

This is an interesting idea, There is a PDF to markdown plugin, and PDF are capable of invisible layers (or alternatively visible layers with transparent text) the hard part is most likely editing/adding links on the fly?

That is some crazy idea leading straight beyond The Edge of Impossible.
Interesting concept. Wow… mind blown… if this could then make a part of standard vault content, linkable, searchable, etc… just wow.

2 Likes

I had a similar idea to yours. My goal was to link the content of a PDF document with a note in Obsidian. I had decided to go the other way, i.e. to extract individual pages or sections from the PDF and include them in the note so that the note would serves as a bridge between the PDF and Obsidian.

Since Obisidian only supports rudimentary PDF documents so far, I have developed a plugin with which it is possible to embed parts of a PDF in a note.

You can find the link here:

Thanks for your work in developing this plugin.
So far I’m sticking with MarginNote and will only link to my highlights.

But I’m hoping that some day it will be possible to have a PDF processor like LiquidText that would also have a markdown layer.
It would be amazing if the highlights and comments will be placed on top of the pdf in MD, extracted to Zotero and possible to be referenced in Obsidian.

I suggested the markdown layer feature to Vishesh who is the developer of gitjournal.
He said he will look into it, if the feature request gets enough upvotes.
So please give it an upvote here:

1 Like

With the Mac app that I’m developing (Keypoints, see also here, it’s not available yet), I‘m trying to implement something similar. However, my goals are rather to extract the info from the PDF into a selfstanding plaintext/Markdown note, automatically add the source info/citation, and to auto-link this note with the exact location of the extracted/highlighted text in the PDF. So my approach is similar to this:

As with any other note, the user would then be able to add comments, tags, cross-links to other notes, etc. The app is very much scriptable (see e.g. here), and I hope to interface with other apps such as Obsidian.

Here’s an example of how a PDF highlight annotation extracted into a note would look like:

Hey msteffens,

that looks pretty amazing! I’m looking forward to try that tool.
When is it going to be available?

Thanks for the feedback!

Unfortunately, there’s no release date yet, and progress is currently slow (my day job currently demands more focus than I’d like, and there were also other reasons).

Here’s two screencasts that show the app in action:


1 Like

Would you make it available for beta testing though?
So we can give feedback.

Thanks again. Yes, i’ll definitely do so! But I’m not even there yet. For example, there are still issues that would prevent users from running the app on their machine, and I have to address these first. But I’m getting there.

I’m sure you will charge for the app and that’s good, but I’m concerned that the development and integration with Obsidian will be so slow, that by then I will have finished my academic studies.
Would you consider charging for the app, but making it open source, so that you would get help in the development?

I understand your concerns, and the delay is as frustrating for me as it is for you.

I’ve thought about open sourcing the project, and I have in fact worked for many years as one of the lead developers and maintainers of an open source project (refbase). On paper, open sourcing a project to gain more traction always sounds like a good idea. But in reality, this is quite tricky to pull off successfully. In fact, it would likely mean more work (not less), at least initially. Also, gaining agreement between a diverse group of developers with different goals in mind can be quite demanding, even reviewing ready-made pull requests and trying to integrate them (w/o loosing track on the app’s original goals, and making sure that no bugs are introduced elsewhere in the app) can be quite tricky. I’ve been there.

But usually it’s even much worse: Smaller/niche open source projects hardly gain any traction at all. It’s hard to find any co-devs at all, even more so some who share your vision and who are willing to commit to the project long-term. With refbase (which was quite popular at its time), I was lucky and found at least one dedicated co-dev. There were also options to donate, but we did never receive anything. I’m not saying, it’s not possible. But based on my experience, it mostly works for very successful projects which are of broad interest.

That all being said, I still very much like the idea of open sourcing one’s code, if only to facilitate public archiving and to avoid lock-in as much as possible.

I’ve also been thinking about starting a companion iOS (or even web) app as an open source project from the get go. However, someone else would need to take over the roles of lead development and maintenance.

Thank you for the detailed reply.
I see, it seems rather challenging.
But I’m looking forward to the release.

2 Likes

This looks really promising!

Just out of curiosity: is there an important reason why it will be a MAC-only app?

1 Like

Thanks @alltagsverstand!

When starting to develop an app, you have to decide on the technology stack to use. Your decision depends on many factors. I‘ve been developing for the Mac previously, and choosing a familiar dev environment helps to avoid beginner’s mistakes and get’s you up and running quickly.

The rich set of frameworks available on the Mac also greatly helps not to reinvent the wheel. As an example, for my app (which heavily depends on having a good database & PDF layer available), the respective frameworks offered on the Mac (and iOS) really help.

From a user perspective, I personally prefer to use native apps which offer sound support for system features and which can be integrated well with other apps on the platform. For example, for my app it’s crucial to expose its parsed knowledge elements via an API, and the system-wide scripting frameworks offered on the Mac really help to facilitate this goal.

That being said, I realize the drawbacks. Restricting one’s app to a certain platform always excludes users. But being a solo developer (for now) and given my own knowledge and skills, I wouldn’t have been able to develop (and, more importantly, test, maintain & support long-term) a cross-plattform app.