実現したいこと
wordファイルから画像ファイルを取り出すこと。
前提
文書中にいくつかの画像を挿入したワードファイル(a.docx)があります。
このwordファイル(a.docx)をワードアプリで開き、「名前を付けて保存」で、拡張子を「Webページ(フィルタ後)(*.htm,*html)」に変更して、保存をすると、htmlファイル(a.html)と、フォルダ(a.files)ができ、そのフォルダ(a.files)内に画像ファイルができます。
フォルダ(a.files)内に画像ファイルの数は、wordファイル(a.docx)の文書中に挿入した画像の数と一致します。
wordファイル(a.docx)の実態はzipファイルですので、このwordファイル(a.docx)の拡張子をzip(a.zip)に変更し、解凍すると、
「a\word\media」のフォルダ内に画像ファイルが現れます。ちなみに、他のフォルダには、画像ファイルは存在しません。
(参考)https://nj-clucker.com/extract-word-image-data/
スケールや画質の違いこそあれ、本来なら、フォルダ(a.files)内の画像ファイルと、「a\word\media」のフォルダ内の画像ファイルとは、一対一の関係を有するはずです。
問題点
しかし、フォルダ(a.files)にあって、「a\word\media」フォルダにない画像ファイルがあります。
具体的には、フォルダ(a.files)内にあるjpegファイルが「a\word\media」フォルダ内にない。
試したこと、調べたこと
下記にありますように、a\word_rels\document.xml.rels に、「media/image19.png」のように記載されていて、これらのファイル名と「a\word\media」フォルダ内の画像ファイル名は、一対一で対応しています。つまり、a\word_rels\document.xml.rels の画像ファイル名の記載も足りていないことになります。
また、「a\word\document.xml 」で、jpeg画像が挿入されているところのXMLの抜粋を下記に引用します。このXMLには、画像ファイル名が書かれていません。
a\word_rels\document.xml.rels の中身抜粋
XML
1<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 2<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> 3<Relationship Id="rId26" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image19.png"/> 4<Relationship Id="rId21" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image14.png"/> 5<Relationship Id="rId42" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image35.png"/> 6・・・・・・ 7<Relationship Id="rId111" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="media/image104.png"/> 8</Relationships>
a\word\document.xml の抜粋
XML
1<w:p w14:paraId="0F59E692" w14:textId="77777777" w:rsidR="00962DBA" w:rsidRPr="005A229F" w:rsidRDefault="00150F39" w:rsidP="00962DBA"> 2<w:pPr> 3<w:jc w:val="left"/> 4<w:rPr> 5<w:szCs w:val="21"/> 6<w:lang w:val="pt-BR"/> 7</w:rPr> 8</w:pPr> 9<w:r w:rsidRPr="005A229F"> 10<w:rPr> 11<w:noProof/> 12<w:szCs w:val="21"/> 13</w:rPr> 14<w:pict w14:anchorId="65D2DA55"> 15<v:shape id="図 1" o:spid="_x0000_i1099" type="#_x0000_t75" style="width:447pt;height:534pt;visibility:visible"> 16<v:imagedata r:id="rId50" o:title=""/> 17</v:shape> 18</w:pict> 19</w:r> 20</w:p> 21<w:p w14:paraId="06EF2FB5" w14:textId="77777777" w:rsidR="003A787F" w:rsidRPr="005A229F" w:rsidRDefault="003A787F" w:rsidP="003A787F"> 22<w:pPr> 23<w:kinsoku w:val="0"/> 24<w:wordWrap w:val="0"/> 25<w:overflowPunct w:val="0"/> 26<w:autoSpaceDE w:val="0"/> 27<w:autoSpaceDN w:val="0"/> 28<w:jc w:val="left"/> 29<w:rPr> 30<w:szCs w:val="21"/> 31</w:rPr> 32</w:pPr> 33<w:r w:rsidRPr="005A229F"> 34<w:rPr> 35<w:rFonts w:hint="eastAsia"/> 36<w:szCs w:val="21"/> 37</w:rPr>
疑問点
wordファイルをhtml保存すると、正しく画像ファイルができるが、拡張子をzipにして解凍すると、jepgファイルが無いのは何故か?
wordファイルをhtml保存する際に生成されるJEPGファイルはどこにあるのか?
補足情報(FW/ツールのバージョンなど)
windows11 Pro 22H2
microsoft 365 word for microsft 365 MSO (バージョン2309 ビルド16.0.16827.20130)64ビット
