Ez a gyors oktatóanyag arról tartalmaz információkat, hogyan lehet az összes képet kinyerni a Word-dokumentumból a Pythonban. Minden erőforrást biztosít a környezet konfigurálásához, és bemutatja a feladat végrehajtásához szükséges fontos API-konstrukciókat, beleértve az osztályneveket, metódusokat és tulajdonságokat. Kövesse a lépéseket, és írjon egy komplett programot, amellyel kivonhatja a képeket a Word dokumentumból pythonban, például kibonthatja a képeket egy DOCX fájlból, és elmentheti PNG, JPG stb. képtípusként. a lemezen.
Lépések a képek kibontásához a Word fájlból a Pythonban
- Állítsa be a környezetet a Aspose.Words for Python .NET-en keresztül használatára a képek kibontásához
- Töltse be a forrás Word fájlt képekkel a Document osztályobjektum használatával
- Lekérheti a betöltött dokumentum összes alakzatának listáját a get_child_nodes() módszerrel
- Elemezze az alakzatgyűjtemény összes elemét, és észlelje a képeket
- Hozzon létre egyedi fájlneveket az alakzatgyűjtemény minden észlelt képéhez
- Mentse el a kibontott képet a lemezre egyedi néven
Ezek a lépések leírják a képek kinyerésének folyamatát a Word-dokumentumból a Pythonban a környezet konfigurációjának megosztásával és a programírás lépéseivel. A környezet létrehozása után töltse be a Word fájlt képekkel a Document class objektum segítségével, és szerezze le belőle az összes alakzat gyűjteményét. Mivel a Shape osztálynak vannak metódusai a képek észlelésére, a képeket kibonthatja és a megadott néven a lemezre mentheti.
Kód a fotók kinyeréséhez a Word-dokumentumból Pythonban
import aspose.words as aw | |
# Load the license | |
wordProtected = aw.License() | |
wordProtected.set_license("Aspose.Total.lic") | |
# Load a document | |
wordDocument = aw.Document("WordFileWithImages.docx") | |
# Get shapes collection | |
allShapes = wordDocument.get_child_nodes(aw.NodeType.SHAPE, True) | |
# Declare counter for images | |
index = 0 | |
# Iterate through all the shapes to detect and save images | |
for shape in allShapes: | |
# Type cast the node object to shape | |
shape = shape.as_shape() | |
if(shape.has_image): | |
index = index + 1 | |
# Prepare file name using the image counter and image type in the shape object | |
image_file_name = f"File.extract_images.{index}{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}" | |
# Save the extracted image on the disk | |
shape.image_data.save(image_file_name) | |
print ("Images extracted successfully from the Word file") |
Itt bemutatjuk azt a kódot, amely bemutatja a kép kibontásának folyamatát a Wordből Pythonban a forrásfájl betöltésével a Document class objektum használatával, amely számos funkcióval rendelkezik, például jelszó megadása a védett fájlok számára, a kódolás beállítása és a figyelmeztetés csatolása. visszahívások a betöltési folyamat vezérléséhez. Hasonlóképpen, a get_child_nodes() metódus alakzatok kinyerésére szolgál, de más csomópontokat is lekérhet, például fejléceket, lábléceket, táblázatokat, megjegyzéseket, lábjegyzeteket és törzset stb.
Ez a cikk elvezetett minket ahhoz, hogy lekérjük az összes fotót egy Word-fájlból a Pythonban. Ha szeretné megismerni a fénykép Word-fájlba történő beszúrásának folyamatát, olvassa el a következő cikket: hogyan lehet képet beszúrni a Wordbe Python segítségével.