PerfectVector
Oleh Irene Kim

Ekstrak Logo dari Word tanpa Kehilangan Piksel

Pulihkan gambar yang disimpan di dalam file Word atau PowerPoint, periksa dimensi pikselnya dan potong, lalu putuskan apakah logo perlu dijiplak atau sumber yang lebih baik.

8 menit baca
Di halaman ini

Untuk mengekstrak logo dari dokumen Word tanpa menambah kehilangan kualitas, pulihkan file gambar yang disematkan dan periksa sebelum membuat tangkapan layar atau menjiplaknya. DOCX biasa dapat berisi byte gambar dengan piksel lebih banyak daripada yang disarankan oleh penempatan halaman kecilnya. Ekstraksi mempertahankan apa yang disimpan; itu tidak dapat memulihkan piksel yang dibuang sebelumnya.

Pendekatan pemeriksaan paket yang sama dapat memulihkan media tertanam dari PPTX biasa. Rute Python yang diuji di bawah ini menyalin byte tersebut ke folder baru. Itu tidak merender Word atau PowerPoint, mereproduksi potongan yang ditampilkan, atau menerapkan efek halaman. Konfirmasikan gambar pulih mana yang cocok dengan logo yang dimaksud sebelum menggunakannya.

Pulihkan dulu, baru menilai sumbernya

Jaga agar dokumen tidak tersentuh. Salin media yang disimpan, identifikasi logo yang benar, dan periksa dimensi piksel sebenarnya, tepi, dan potongan yang diinginkan. Pertahankan vektor yang ada saat Anda menemukannya; lacak hanya ketika raster membutuhkan jalur yang dapat diedit.

Coba dengan gambar Anda sendiri
Buka alat lengkap
Gratis dicoba. Letakkan gambar untuk melihat pratinjau vektor Anda, tanpa perlu mendaftar.

Ukuran gambar yang disimpan berbeda dengan penempatan halaman

Gambar yang disematkan adalah file yang disimpan di dalam paket dokumen. Penempatan adalah bagaimana gambar diposisikan dan diukur pada halaman atau slide. Pemotongan atau efek dapat mengubah apa yang Anda lihat tanpa harus sama dengan file media yang mendasarinya.

Panduan struktur dokumen Word Microsoft menjelaskan paket DOCX ZIP dan bagian-bagian penyusunnya. contoh penyisipan gambar menyimpan data gambar di bagian gambar dan merujuknya dari dokumen. Anda tidak perlu menulis kode Open XML untuk mencoba ekstraksi di bawah ini.

Pisahkan ketiga pertanyaan ini:

PertanyaanApa yang harus diperiksaApa yang tidak dibuktikannya
Berapa banyak detail raster yang disimpan?Dimensi dan tepi piksel gambar yang diekstraksiUkuran penempatan halamannya saja tidak menjawab hal ini
Apakah ini logo yang disetujui?Versi, huruf, warna, dan potongan yang diinginkanFile terbesar belum tentu benar secara otomatis
Apakah saya memerlukan jalur vektor?Persyaratan pekerjaan pengeditan, pencetakan, atau pemotongan berikutnyaEkstraksi itu sendiri tidak mengubah piksel menjadi jalur

Jika klien memiliki karya asli desainer, mintalah. Panduan pengambilan logo resolusi rendah mencakup triase tersebut. Memeriksa media yang disimpan dalam dokumen berguna ketika file Office adalah sumber terbaik yang tersedia saat ini.

Salin media dari duplikat dokumen

Anda memerlukan salinan .docx atau .pptx lokal yang tidak terenkripsi, Python 3, dan nama folder keluaran baru. Ini adalah alur kerja ekstraksi file, bukan panduan menu Office. .doc lama, dokumen terenkripsi, gambar online tertaut, dan perilaku asli Simpan sebagai Gambar berada di luar cakupan pengujian.

  1. Gandakan dokumen. Biarkan file yang diterima tidak berubah. Untuk contoh perintahnya, beri nama salinannya client-logo.docx dan letakkan di samping skrip.
  2. Simpan ini sebagai recover-media.py. Ini menggunakan zipfile modul standar Python, membaca entri media, dan menulis byte-bytenya tanpa mendekode atau mengompresi ulang gambar:
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. Jalankan dari folder itu. Folder keluaran tidak boleh sudah ada:
python3 recover-media.py client-logo.docx recovered-logo

Untuk salinan PowerPoint, ubah masukan ke nama file .pptx Anda dan pilih folder keluaran yang berbeda. Jika sistem Anda menamai Python 3 python dan bukan python3, gunakan executable tersebut sebagai gantinya.

  1. Baca output dan periksa file. Jalur yang dicetak menunjukkan anggota paket, seperti word/media/image1.png atau ppt/media/image1.png. String heksadesimal panjang adalah sidik jari SHA-256 dari byte-nya. Nama keluaran bernomor membantu membedakan beberapa item media; image1 bukan merupakan janji bahwa file tersebut adalah logo Anda.
  2. Buka kemungkinan kandidat di penampil gambar. Periksa dimensi piksel dan periksa huruf terkecil, garis tipis, dan tepian pada zoom 100%. Bandingkan versi yang diinginkan dan potong dengan dokumen atau referensi yang disetujui klien.

Jika perintah melaporkan bahwa folder keluaran ada, gunakan nama folder baru sehingga Anda mempertahankan hasil sebelumnya. Jika tidak menemukan entri media yang diharapkan, dokumen mungkin menggunakan jenis konten atau referensi lain daripada gambar tersemat yang diharapkan oleh rute ini. Mintalah gambar asli atau ekspor tidak terenkripsi yang sesuai. Mengganti nama .doc lama menjadi .docx tidak mengubah kontennya.

Apa yang dipulihkan oleh paket tes

Kami membuat file DOCX dan PPTX yang valid dengan logo asli 1600 × 900 PNG, membuka kembali paket dengan perpustakaan pembuatnya, dan mengekstraksi media secara mandiri. PNG yang dipulihkan dari DOCX sama persis dengan byte masukan, meskipun lebar penempatan empat inci dicatat dalam dokumen.

PPTX berisi PNG yang sama ditambah metadata dengan potongan tersisa 25%. Ekstraksi masih mengembalikan 1600 × 900 PNG lengkap yang disimpan dengan sidik jari byte yang sama. Itu adalah observasi paket data; kami tidak merender slide atau menguji tampilan potongannya di PowerPoint.

Kami juga mengurangi logo menjadi 400 × 225 JPEG sebelum menyematkannya di DOCX lain. Ekstraksi mengembalikan byte JPEG yang dikurangi, masih 400 × 225. Kontrol yang disengaja ini menunjukkan batasan: mengambil gambar yang disimpan tidak membalikkan pengurangan sebelumnya. Itu tidak menunjukkan cacat kompresi Office.

Media yang diekstraksi sebenarnya dari paket yang dikontrol
Pratinjau menampilkan logo PNG 1600 x 900 yang dipulihkan dan JPEG yang sebelumnya dikurangi 400 x 225, dengan catatan yang membedakan media yang disimpan dari penempatan DOCX dan metadata pemotongan PPTX
PNG asli yang disimpan dipulihkan byte demi byte. JPEG yang dikurangi sebelum penyematan tetap dikurangi setelah ekstraksi.

Ini adalah pengujian paket yang dibuat oleh perpustakaan, bukan pengujian asli Word atau PowerPoint, Simpan sebagai Gambar, atau pengujian rendering tampilan. Tidak ada konversi PerfectVector yang dijalankan untuk perbandingan ini.

Pilih aset yang dipulihkan sebelum menelusuri

Jangan memilih hanya berdasarkan nama file atau ukuran file. Dokumen dapat menampung gambar atau varian lain, dan gambar yang disimpan dapat menyertakan konten di luar potongan yang terlihat. Konfirmasikan bentuk logo, tanda kata, versi, dan pemangkasan yang diperlukan sebelum memperlakukannya sebagai sumber.

Jika Anda memulihkan file vektor yang ada, simpanlah dan periksa apakah file tersebut berisi jalur yang Anda perlukan. Tidak ada manfaatnya melakukan rasterisasi hanya untuk melacaknya lagi. panduan format file logo menjelaskan master yang dapat diedit dan salinan pengiriman. Pemulihan khusus PDF adalah tugas terpisah yang dilakukan dengan memeriksa dan mengonversi karya seni PDF.

Untuk raster, periksa piksel yang sebenarnya Anda pulihkan. Jika huruf kecil sudah buram, rusak atau hilang, carilah yang asli atau buat ulang dengan sengaja. Memperbesar salinan yang disimpan tidak membuktikan bentuk huruf yang hilang. Gambar yang lebih besar dengan potongan yang salah atau branding yang ketinggalan jaman juga merupakan sumber yang salah.

Untuk penyerahan dokumen di masa mendatang, Microsoft mendokumentasikan kontrol kompresi gambar untuk Word, PowerPoint, dan Excel. Itu adalah pengaturan pencegahan untuk didiskusikan dengan penulis dokumen, bukan operasi pemulihan yang diuji di sini. Mintalah file logo asli secara terpisah jika memungkinkan.

Lakukan vektorisasi hanya ketika pekerjaan berikutnya membutuhkan jalur

PerfectVector cocok jika file yang dipulihkan adalah logo raster yang bentuk tampilannya Anda inginkan sebagai jalur vektor yang dapat diedit. Gunakan pembuat vektor logo dengan gambar yang paling diterima, lalu bandingkan pratinjau dengan sumber tersebut, terutama huruf terkecil, penghitung, dan garis tipis.

Ekstraksi dan vektorisasi memecahkan masalah yang berbeda. Yang pertama mengambil data gambar yang disimpan; yang kedua menafsirkan bentuk raster sebagai jalur. Tidak ada yang mengonfirmasi bahwa Anda memilih logo yang disetujui, dan jejak tidak dapat membuktikan arti piksel yang hilang. Mengedit dan mengekspor hasil PerfectVector memerlukan pembukaan kuncinya; pratinjau yang dilindungi hanya dapat dilihat.

Pertanyaan Umum

Apakah mengekstraksi logo dari Word akan mengembalikan kualitas aslinya? Ini mengambil apa yang masih disimpan dalam dokumen. Jika itu adalah gambar aslinya, Anda dapat memulihkan byte yang disimpannya. Jika dikurangi sebelum disimpan, ekstraksi tidak mengembalikan piksel yang dibuang.

Apakah gambar yang diekstraksi akan cocok dengan potongan yang terlihat di halaman? Belum tentu. Paket ini dapat menyimpan gambar lengkap secara terpisah dari penempatan atau memotong metadata. Bandingkan file yang dipulihkan dengan karya seni yang diinginkan dan konfirmasikan pemotongan apa pun sebelum menggunakannya.

Dapatkah saya menggunakan skrip yang sama untuk PowerPoint? Ya, untuk alur kerja PPTX biasa yang tidak terenkripsi diuji di sini. Berikan skrip salinan PPTX dan nama folder keluaran baru. Ini menyalin media dari folder paket yang diharapkan; itu tidak merender slide atau menerapkan efeknya.

Sumber

  1. Microsoft Learn — Struktur dokumen WordprocessingML — Menjelaskan paket DOCX ZIP dan bagian dokumen penyusunnya.
  2. Microsoft Learn — Menyisipkan gambar ke dalam dokumen pengolah kata — Menampilkan data gambar yang disimpan di bagian gambar yang direferensikan oleh dokumen.
  3. Python — zipfile — Mendokumentasikan pembaca arsip perpustakaan standar yang digunakan oleh skrip ekstraksi yang diuji.
  4. Dukungan Microsoft — Menonaktifkan kompresi gambar — Menjelaskan pengaturan kompresi preventif untuk penyerahan dokumen di masa mendatang.

Jika raster Anda yang dipulihkan memerlukan jalur yang dapat diedit, mulai gratis dengan logo tersebut. Periksa huruf kecil dan detail tipis pratinjau vektor terhadap gambar yang diekstraksi sebelum menerima hasilnya.

Lebih banyak dari blog

PerfectVector

Ubah logo atau karya Anda menjadi
SVG yang rapi dan dapat diedit

Vektorisasi dan periksa pratinjau secara gratis, tanpa batas harian.