Extract pictures from pdf

Hey everybody,

currently i’m preparing for my exams, and for that I’m extracting a lot of pictures from a book to include in my Anki deck. Because I think vector graphics are superior in a lot of ways, I’m currently using Libre Office Draw to open the page as pdf, and manually freeing, selecting and converting the wished upon graphics to SVG files. This takes a bit of time, and i think more than utterly necessary, due to some not so great limitations by LO Draw (pls just let me set some standard settings…).

Does anybody know of a more quickly way to create vector graphics from a pdf? Maybe through a “Print selected region as” Option or similar? For reference, the book I’m working with has a reading sample that I’m linking here, so that you know what I’m working with. For clarification, I’m mostly interested in the structural formulas and less in the fancy knight and bicycles…

I know the quickest way would be to just take screenshots, but due to poor scaling of raster images, and no-transparency with screenshots (without further manipulation), leading to irritating presentation when using night mode in Anki, I do strongly prefer SVGs.

As I do not intend to share this deck online, I don’t see a copyright issue here, as this is effectively the same as making a manual photo copy of the page and glueing it onto a paper card.

Okay, so, enough procrastination. Thank you for your time, and especially thank you if you have an answer or another idea how to quickly and qualitatively fulfill this task.

Hi,

Thank you for the reply. I do infact know different ways to generally get images from a pdf, the problem with the most common methods are, that they work with rasterized images, and not with vector graphics. Most of these methods work equivalent to screenshots and/or are online based tools, which, by their nature of upload-server_processing-download, can take even more time than my current method. If rasterized images would be my goal, i would just zoom in to the max, and take a screenshot.

Inkscape, which is the most propossed alternative, if you search for vector based extraction, is just another, slightly different workflow to LO Draw, which takes about the same time. So, i did do my research on that, but have so far not found an improved replacement for my issue. As it sometimes is with search engines, they not always give the whole picture, so i was hoping, someone here might have an insight into the topic, which i did not have yet through ddg/google/mojeek.

ok, the svg files, your answer is really detailed , my answer was really basic, sorry.

Try an adobe forum ?

Yes, that may be worthy a try, as they are probably more indepth into the topic of pdfs and graphics. I’m not totally sure if that’s too far offtopic from adobe products, but i may crosspost there tomorrow if no answer pops up here.

Hello,

Once a pdf is created is not an easy task to revert to the original format the pdf is coming from, and svg is not the actual answer to your question. The pdf you shared is originated/created from/with Adobe InDesign software and the molecular structure and chemical formulas most likely come from software like ChemDraw and ChemOffice and then pasted in the template used for that document that was then converted, for portability, to pdf.
Opening such pdf files in LibreOffice Draw or Inkscape will probably keep the text format, but will be put in text cells, and that is not ideal for editing, because you will have to go trough each such cell to access the text, and that can be from one word to what appears as a line or a block text of a few lines that sometimes will overlap each other. The molecules representations and the chemical formulas will no longer be as such, but simple drawing lines, even the arrows will become separate “objects” …
What you need is the original file or make your own from scratch, using proper tools for formulas and molecule structure.

This issue is not related with Manjaro whatsoever, so i’m tempted to close the topic, but for now will let it be, as maybe someone else might consider sharing their experience.

2 Likes

Thank you very much for your elaborate answer. I can completely respect closing the thread, manjaro is just my main OS and I try to stay FOSS, so that’s why I thought to post here.

Yes, that’s what I feared. My Workflow with LO Draw works (just slowly and tiresome), and after downloading the correct fonts from “somewhere”, text gets mostly displayed correctly. I’ve just been hoping, there’s maybe a software out there that may do all the steps that I do manually (selecting the visible layer from a selection, converting it to curve, and exporting it) in a ready-to-use package. In my head, I can’t be the only one who sometimes has the needs for qualitatively adequate graphics.

Okay, i think this thread can be closed now.

Fair enough. This tool might help you XDrawChem available via AUR (en) - xdrawchem

Maybe even Avogadro and the libraries that come separate for it will help, also in AUR and you can find them all via pamac.

There is also BKChem that is free but is available only from their site.

And Chemtool is nice and small and can be build also from AUR (en) - chemtool

If you are also into molecular dynamics, this is also free and open source https://www.cp2k.org but requires CUDA with a decent Nvidia GPU.

1 Like

Thanks for the suggestions. I’ve already taken a look at these in the past and in my opinion, the common FOSS 2D chemical drawing tools (XDrawChem, Chemtool, BKChem) are total garbage…
I do try to stay FOSS, but that is an area that’s just way to underdeveloped for FOSS and Linux. I think that you can really feel that there hasn’t been any development for any of them for a lot years now. (BKChem has had no new release for 13 years now…)

Avogadro looks nice, but seems more focused on 3D than 2D, judging from their presentation, which will probably be useful to me at some point, but not just now. But it’s good to know that there’s active work in that area. But 3D is already more empraced in the FOSS-Space, PyMol would be another loosely related example for that. (Though i have to say that just for good looking graphics i would prefer UCSF Chimera…)

Programming a simple, 2D drawing tool which is actually usable is a long standing item on my personal list, but will sadly have to wait until my exams are over and I find the time again to even learn programming. Till then, i will have to stick with ChemDraw (and even this propietary monster can be a nightmare to use…)

Okay, bit more back to topic, until there’s no way for keyboard only quick chemical drawing, this method will probably only be used by me if have to create something that i can’t find a picture for in under a Minute, bcs that should be about the time it takes to open-create-annotate-save such a graphic.
Anyway, although I do really enjoy this kind of discussion, it’s pretty off topic for this thread.