How do I programmatically create a Bill of Materials using ANY document format?

I want a list of items and corresponding images highlighted.
Example:

  • Diode |IMAGE_of_Diode
  • Capacitor |IMAGE_of_capacitor

Selecting “Diode” should highlight the corresponding Image and make it visible/prominent.

‘Calc’ is pretty much ruled out because

but can this be done using tables? or … styles… but that’s basically generating an HTML page for BOM and not using Libreoffice?

Still talking of LibreOffice? If yes: Something like lists (generalized from “column”) only exists in a manageable form in text documents and in spreadsheets.
Spreadsheets are much more suitable for what you want.
Having still in mind the discussion under the above linked question, I would suggest you basically reconsider the usage of a “productivity suite” like LibreOffice.
If you doubt my competence concerning the topic, you may nonetheless regard other high ranking users having commented on the mentioned question like @JohnSUN and @mariosv.
You are on the wrong track.

not questioning your competence… just wondering what the track is… I can’t ask a random store assistant to install Libreoffice on his PC and then read my BOM… I’ll get a withering look of imagined disgust because I’m not buying for 1million$s (I’ll try it as a last resort but… are there any other options to get the BOM to magically open in Windows with the image-highlight behavior - PDF/Postscript?)

See also:

broken links Graphical User Interfaces - Apache OpenOffice Wiki this works https://wiki.openoffice.org/w/images/d/d9/DevelopersGuide_OOo3.1.0.pdf

basically you can use Calc to do this but you can’t highlight/resize images without Macros and such - the UNO interface - nice book here https://www.pitonyak.org/OOME_3_0.pdf