Εικόνες και συνημμένα αρχεία Aspose.Note FOSS για Python
Aspose.Note FOSS for Python gives direct access to both embedded images and attached files stored inside OneNote .one Ετικέτες: Το περιεχόμενο εκθέτει μέσα από το Image και AttachedFile Τύποι Νότ.
Εξαγωγή εικόνων
Κάθε εικόνα σε ένα έγγραφο του OneNote αντιπροσωπεύεται από μια Image Νόμπι - Χρησιμοποιήστε GetChildNodes(Image) Για να ανακτήσετε όλες τις εικόνες από το έγγραφο επανειλημμένα:
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for i, img in enumerate(doc.GetChildNodes(Image), start=1):
filename = img.FileName or f"image_{i}.bin"
with open(filename, "wb") as f:
f.write(img.Bytes)
print(f"Saved: {filename} ({img.Width} x {img.Height} pts)")ΙΔΙΟΤΗΤΑ ΦΩΤΟΓΡΑΦΙΑ
| Ιδιοκτησία | Τύπος | Περιγραφή |
|---|---|---|
FileName | `str | None` |
Bytes | bytes | Τα δεδομένα πρώτης εικόνας (η μορφή ταιριάζει με την αρχική, για παράδειγμα PNG, JPEG) |
Width | `float | None` |
Height | `float | None` |
AlternativeTextTitle | `str | None` |
AlternativeTextDescription | `str | None` |
HyperlinkUrl | `str | None` |
Tags | list[NoteTag] | OneNote tags που συνδέονται με αυτή την εικόνα |
Αποθηκεύστε εικόνες με Safe Filenames
Όταν FileName Είναι None ή περιέχει χαρακτήρες που είναι ασφαλή για το σύστημα αρχείων, απορρυπαντικά πριν από την εξοικονόμηση:
import re
from aspose.note import Document, Image
def safe_name(name: str | None, fallback: str) -> str:
if not name:
return fallback
return re.sub(r'[<>:"/\\|?*]', "_", name)
doc = Document("MyNotes.one")
for i, img in enumerate(doc.GetChildNodes(Image), start=1):
name = safe_name(img.FileName, f"image_{i}.bin")
with open(name, "wb") as f:
f.write(img.Bytes)Εξαγωγή εικόνων ανά σελίδα
from aspose.note import Document, Page, Image
doc = Document("MyNotes.one")
for page_num, page in enumerate(doc.GetChildNodes(Page), start=1):
images = page.GetChildNodes(Image)
print(f"Page {page_num}: {len(images)} image(s)")
for i, img in enumerate(images, start=1):
filename = f"page{page_num}_img{i}.bin"
with open(filename, "wb") as f:
f.write(img.Bytes)Ελέγξτε το Alt Text και τις Hyperlinks
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
if img.AlternativeTextTitle:
print("Alt title:", img.AlternativeTextTitle)
if img.AlternativeTextDescription:
print("Alt desc:", img.AlternativeTextDescription)
if img.HyperlinkUrl:
print("Linked to:", img.HyperlinkUrl)Ανακαλύψτε το αρχείο μορφοποίησης εικόνας από τα Bytes
Πιθανός imghdr Η σύνδεση (Python ≤ 3.12) ή η struct Η ενότητα μπορεί να ανιχνεύσει τη μορφή εικόνας από τα πρώτα bytes:
from aspose.note import Document, Image
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
b = img.Bytes
if b[:4] == b'\x89PNG':
fmt = "png"
elif b[:2] == b'\xff\xd8':
fmt = "jpeg"
elif b[:4] == b'GIF8':
fmt = "gif"
elif b[:2] in (b'BM',):
fmt = "bmp"
else:
fmt = "bin"
name = (img.FileName or f"image.{fmt}").rsplit(".", 1)[0] + f".{fmt}"
with open(name, "wb") as f:
f.write(b)Εξαγωγή συνημμένων αρχείων
Τα αρχεία που είναι ενσωματωμένα αποθηκεύονται ως AttachedFile Κόντρα :
from aspose.note import Document, AttachedFile
doc = Document("NotesWithAttachments.one")
for i, af in enumerate(doc.GetChildNodes(AttachedFile), start=1):
filename = af.FileName or f"attachment_{i}.bin"
with open(filename, "wb") as f:
f.write(af.Bytes)
print(f"Saved attachment: {filename} ({len(af.Bytes):,} bytes)")Ιδιότητες ΑΣΤΥΧΗ
| Ιδιοκτησία | Τύπος | Περιγραφή |
|---|---|---|
FileName | `str | None` |
Bytes | bytes | Ρόι αρχείο περιεχόμενο |
Tags | list[NoteTag] | OneNote tags που συνδέονται με αυτό το κόμβο |
Ελέγξτε τα ετικέτα για εικόνες και συνημμένα
Και οι δύο Image και AttachedFile Συσκευές που υποστηρίζουν τα tag του OneNote:
from aspose.note import Document, Image, AttachedFile
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
for tag in img.Tags:
print(f"Image tag: {tag.Label} completedTime={tag.CompletedTime}")
for af in doc.GetChildNodes(AttachedFile):
for tag in af.Tags:
print(f"Attachment tag: {tag.Label} completedTime={tag.CompletedTime}")Εικόνα: Φωτογραφία vs Συμπληρώματα
| Χαρακτηριστικά | Image | AttachedFile |
|---|---|---|
FileName | Ναι (αρχικό όνομα εικόνας) | Ναι (αρχικό όνομα αρχείου) |
Bytes | Ακατέργαστη εικόνα bytes | Ακατέργαστη αρχεία bytes |
Width / Height | Ναι (επιδοτούμενες διαστάσεις) | ΟΧΙ |
AlternativeTextTitle/Description | ΝΑΙ | ΟΧΙ |
HyperlinkUrl | ΝΑΙ | ΟΧΙ |
Tags | ΝΑΙ | ΝΑΙ |
Replace(node) Μέθοδος | ΝΑΙ | ΟΧΙ |
Tips
- Πάντα να προστατεύεται από
NoneΦιλαράμ.img.FileNameΕίναιNoneόταν το αρχείο δεν είχε όνομα στο έγγραφο προέλευσης. img.BytesΠοτέ δεν είναιNoneκαι είναι πάντα το πρώιμο δυαδικό περιεχόμενο. μπορεί να είναι μηδενικά bytes για εικόνες τοποθετήματος.- Χρησιμοποιήστε
Page.GetChildNodes(Image)Αντί ναDocument.GetChildNodes(Image)Να εκτελέσει την έκδοση σε μία σελίδα. - Η
Image.Replace(image)η μέθοδος αντικαθιστά το περιεχόμενο ενός κόμβου εικόνας με άλλο μέσα στη μνήμη..oneΔεν υποστηρίζεται.