PerfectVector
Di Irene Kim

Estrai un logo da Word senza perdere pixel

Recupera l'immagine memorizzata in un file Word o PowerPoint, controlla le sue dimensioni in pixel e ritaglia, quindi decidi se è necessario tracciare il logo o una fonte migliore.

9 min di lettura
In questa pagina

Per estrarre un logo da un documento Word senza aggiungere un'altra perdita di qualità, recupera il file immagine incorporato e ispezionalo prima di fare uno screenshot o tracciarlo. Un DOCX ordinario può contenere byte di immagine con più pixel di quanto suggerisca il posizionamento in una piccola pagina. L'estrazione preserva ciò che viene immagazzinato; non può ripristinare i pixel scartati in precedenza.

Lo stesso approccio di ispezione dei pacchetti può ripristinare i supporti incorporati da un normale PPTX. Il percorso Python testato di seguito copia tali byte in una nuova cartella. Non esegue il rendering di Word o PowerPoint, non riproduce un ritaglio visualizzato né applica effetti di pagina. Conferma quale immagine recuperata corrisponde al logo previsto prima di utilizzarla.

Prima recupera, poi giudica la fonte

Mantieni il documento intatto. Copia i contenuti multimediali archiviati, identifica il logo corretto e controlla le dimensioni dei pixel reali, i bordi e il ritaglio previsto. Conserva un vettore esistente quando ne trovi uno; traccia solo quando un raster necessita di percorsi modificabili.

Provalo con la tua immagine
Apri lo strumento completo
Puoi provarlo gratis. Rilascia un’immagine e guarda l’anteprima del tuo vettoriale, senza registrarti.

Le dimensioni dell'immagine memorizzata differiscono dal posizionamento nella pagina

Un'immagine incorporata è un file conservato all'interno del pacchetto di documenti. Il posizionamento è il modo in cui l'immagine viene posizionata e ridimensionata sulla pagina o sulla diapositiva. Un ritaglio o un effetto può modificare ciò che vedi senza essere la stessa cosa del file multimediale sottostante.

La Guida alla struttura dei documenti Word di Microsoft descrive il pacchetto DOCX ZIP e le sue parti costitutive. Il suo esempio di inserimento di immagini memorizza i dati dell'immagine in una parte di immagine e fa riferimento ad essa dal documento. Non è necessario scrivere codice Open XML per provare l'estrazione riportata di seguito.

Tieni separate queste tre domande:

DomandaCosa ispezionareCiò che non dimostra
Quanti dettagli raster vengono memorizzati?Dimensioni e bordi in pixel dell'immagine estrattaLa dimensione del posizionamento della pagina da sola non risponde a questa domanda
È questo il logo approvato?Versione, scritte, colori e ritaglio previstoIl file più grande non è automaticamente quello corretto
Ho bisogno di percorsi vettoriali?Requisiti del successivo lavoro di modifica, stampa o taglioL'estrazione in sé non trasforma i pixel in percorsi

Se il cliente ha l'originale del designer, chiediglielo. La guida per l'assunzione di loghi a bassa risoluzione copre tale valutazione. Controllare il supporto archiviato del documento è utile quando il file di Office è la migliore fonte attualmente disponibile.

Copia il supporto da un duplicato del documento

Hai bisogno di una copia .docx o .pptx locale, ordinaria e non crittografata, Python 3 e un nuovo nome della cartella di output. Questo è un flusso di lavoro di estrazione dei file, non una procedura dettagliata del menu Office. .doc legacy, documenti crittografati, immagini online collegate e il comportamento nativo di salvataggio come immagine non rientrano nell'ambito testato.

  1. Duplica il documento. Mantieni invariato il file ricevuto. Per il comando di esempio, dai un nome alla copia client-logo.docx e inseriscila accanto allo script.
  2. Salvalo come recover-media.py. Utilizza il modulo Python's standard zipfile modulo, legge le voci multimediali e scrive i loro byte senza decodificare o ricomprimere le immagini:
from pathlib import Path
from zipfile import ZipFile
from hashlib import sha256
import sys
 
source = Path(sys.argv[1])
output = Path(sys.argv[2])
if source.suffix.lower() not in {".docx", ".pptx"}:
    raise SystemExit("Use an ordinary, unencrypted DOCX or PPTX copy.")
 
with ZipFile(source, "r") as package:
    members = [
        item for item in package.infolist()
        if not item.is_dir()
        and item.filename.startswith(("word/media/", "ppt/media/"))
    ]
    if not members:
        raise SystemExit("No files found in the expected embedded-media folders.")
    output.mkdir(exist_ok=False)
    for index, member in enumerate(members, 1):
        data = package.read(member)
        target = output / f"{index:03d}-{Path(member.filename).name}"
        target.write_bytes(data)
        print(member.filename, "->", target, sha256(data).hexdigest())
  1. Eseguilo da quella cartella. La cartella di output non deve già esistere:
python3 recover-media.py client-logo.docx recovered-logo

Per una copia di PowerPoint, modifica l'input con il nome del file .pptx e scegli una cartella di output diversa. Se il tuo sistema chiama Python 3 python anziché python3, usa invece quell'eseguibile.

  1. Leggi l'output e controlla i file. Il percorso stampato mostra il membro del pacchetto, come word/media/image1.png o ppt/media/image1.png. La lunga stringa esadecimale è un'impronta digitale SHA-256 dei suoi byte. I nomi di output numerati aiutano a mantenere distinti più elementi multimediali; image1 non è una promessa che il file sia il tuo logo.
  2. Apri i probabili candidati in un visualizzatore di immagini. Controlla le dimensioni dei pixel e ispeziona i caratteri più piccoli, le linee sottili e i bordi con uno zoom del 100%. Confronta la versione prevista e ritaglia con il documento o un riferimento approvato dal cliente.

Se il comando segnala che la cartella di output esiste, utilizza un nuovo nome di cartella in modo da conservare i risultati precedenti. Se non trova voci multimediali previste, il documento potrebbe utilizzare un altro tipo di contenuto o riferimento anziché l'immagine incorporata prevista da questo percorso. Richiedi l'immagine originale o un'adeguata esportazione non crittografata. Rinominare un .doc legacy in .docx non ne converte i contenuti.

Cosa ha recuperato il test del pacchetto

Abbiamo creato file DOCX e PPTX validi con un logo PNG originale 1600 × 900, abbiamo riaperto i pacchetti con le relative librerie di creazione ed estratto i file multimediali in modo indipendente. Il PNG recuperato dal DOCX corrispondeva esattamente ai byte di input, nonostante una larghezza di posizionamento di quattro pollici registrata nel documento.

Il PPTX conteneva lo stesso PNG più metadati per un ritaglio a sinistra del 25%. L'estrazione ha comunque restituito i 1600 × 900 PNG memorizzati completi con la stessa impronta digitale di byte. Questa è un'osservazione dei dati del pacchetto; non abbiamo eseguito il rendering della diapositiva né testato l'aspetto del ritaglio in PowerPoint.

Abbiamo anche ridotto il logo a un JPEG 400 × 225 prima di incorporarlo in un altro DOCX. L'estrazione ha restituito gli stessi byte JPEG ridotti, sempre 400 × 225. Questo controllo deliberato mostra il confine: il recupero di un'immagine memorizzata non annulla una riduzione precedente. Non dimostra un difetto di compressione di Office.

Supporti effettivamente estratti da pacchetti controllati
Preview che mostra il logo PNG 1600 recuperato da 900 PNG e il logo 400 precedentemente ridotto da 225 JPEG, con note che distinguono i media archiviati dal posizionamento DOCX e dai metadati di ritaglio PPTX
Il PNG originale memorizzato viene recuperato byte per byte. Il JPEG ridotto prima dell'incorporamento rimane ridotto dopo l'estrazione.

Si trattava di test dei pacchetti creati dalla libreria, non di test dell'interfaccia utente nativa di Word o PowerPoint, di salvataggio come immagine o di rendering della visualizzazione. Per questo confronto non è stata eseguita alcuna conversione PerfectVector.

Scegli il bene recuperato prima del tracciamento

Non scegliere esclusivamente in base al nome o alla dimensione del file. Un documento può contenere altre immagini o varianti e l'immagine archiviata può includere contenuti al di fuori del ritaglio visibile. Conferma la forma, il marchio denominativo, la versione e il ritaglio richiesto del logo prima di trattarlo come fonte.

Se recuperi un file vettoriale esistente, conservalo e controlla se contiene i percorsi necessari. Non vi è alcun vantaggio nel rasterizzarlo solo per ricalcarlo di nuovo. La guida al formato dei file del logo spiega i master modificabili e le copie di consegna. Il ripristino solo PDF è un'attività separata coperta dal controllo e conversione della grafica PDF.

Per un raster, ispeziona i pixel che hai effettivamente recuperato. Se le lettere minuscole sono già sfocate, rotte o mancanti, cerca l'originale o ricostruiscile deliberatamente. L'ingrandimento della copia archiviata non dimostra la forma delle lettere perdute. Anche un'immagine più grande con un ritaglio sbagliato o un marchio obsoleto è la fonte sbagliata.

Per i futuri trasferimenti di documenti, Microsoft documenta un controllo della compressione delle immagini per Word, PowerPoint ed Excel. Si tratta di un'impostazione preventiva da discutere con l'autore del documento, non di un'operazione di ripristino testata qui. Richiedi il file del logo originale separatamente quando possibile.

Vettorializzare solo quando il lavoro successivo necessita di percorsi

PerfectVector si adatta quando il file recuperato è un logo raster di cui si desidera visualizzare le forme visibili come tracciati vettoriali modificabili. Utilizza il vettoriatore logo con la migliore immagine accettata, quindi confronta l'anteprima con quella fonte, in particolare i caratteri più piccoli, i contatori e le linee sottili.

L'estrazione e la vettorizzazione risolvono diversi problemi. Il primo recupera i dati dell'immagine memorizzati; il secondo interpreta le forme raster come tracciati. Nessuno dei due conferma che hai scelto il logo approvato e una traccia non può dimostrare cosa significassero originariamente i pixel mancanti. La modifica e l'esportazione di un risultato PerfectVector richiedono lo sblocco; l'anteprima protetta è di sola visualizzazione.

Domande frequenti

L'estrazione di un logo da Word ne ripristina la qualità originale? Recupera ciò che è ancora memorizzato nel documento. Se questa è l'immagine originale, puoi recuperare i byte memorizzati. Se è stato ridotto prima della memorizzazione, l'estrazione non ripristina i pixel scartati.

L'immagine estratta corrisponderà al ritaglio visibile sulla pagina? Non necessariamente. Il pacchetto può archiviare l'immagine completa separatamente dal posizionamento o dai metadati di ritaglio. Confronta il file recuperato con l'opera d'arte prevista e conferma qualsiasi ritaglio prima di utilizzarlo.

Posso utilizzare lo stesso script per PowerPoint? Sì, per il normale flusso di lavoro PPTX non crittografato testato qui. Assegna allo script una copia PPTX e un nuovo nome per la cartella di output. Copia i media dalle cartelle del pacchetto previste; non esegue il rendering della diapositiva né ne applica gli effetti.

Fonti

  1. Microsoft Learn: struttura di un documento WordprocessingML: spiega il pacchetto DOCX ZIP e le sue parti costitutive del documento.
  2. Microsoft Learn: inserisci un'immagine in un documento di elaborazione testi: mostra i dati dell'immagine archiviati in una parte dell'immagine a cui fa riferimento il documento.
  3. Python — zipfile — Documenta il lettore di archivi della libreria standard utilizzato dallo script di estrazione testato.
  4. Supporto Microsoft: disattiva la compressione delle immagini: descrive un'impostazione di compressione preventiva per futuri trasferimenti di documenti.

Se il tuo raster recuperato necessita di percorsi modificabili, inizia gratuitamente con quel logo. Esamina i caratteri piccoli e i dettagli sottili dell'anteprima vettoriale rispetto all'immagine estratta prima di accettare il risultato.

Altro dal blog

PerfectVector

Trasforma logo o grafica in un
SVG pulito e modificabile

Vettorializza e controlla l’anteprima gratis, senza limiti giornalieri.