PerfectVector
Bởi Irene Kim

Trích xuất logo từ Word mà không mất pixel

Khôi phục hình ảnh được lưu trữ bên trong tệp Word hoặc PowerPoint, kiểm tra kích thước pixel và cắt xén, sau đó quyết định xem logo cần theo dõi hay nguồn tốt hơn.

12 phút đọc
Trên trang này

Để trích xuất logo từ tài liệu Word mà không làm giảm chất lượng khác, hãy khôi phục tệp hình ảnh được nhúng và kiểm tra nó trước khi chụp ảnh màn hình hoặc theo dõi nó. Một DOCX thông thường có thể chứa các byte hình ảnh có nhiều pixel hơn so với vị trí trang nhỏ của nó gợi ý. Khai thác bảo tồn những gì được lưu trữ; nó không thể khôi phục các pixel đã bị loại bỏ trước đó.

Cách tiếp cận kiểm tra gói tương tự có thể khôi phục phương tiện nhúng từ PPTX thông thường. Tuyến Python được thử nghiệm bên dưới sao chép các byte đó vào một thư mục mới. Nó không hiển thị Word hoặc PowerPoint, tái tạo phần cắt được hiển thị hoặc áp dụng hiệu ứng trang. Xác nhận hình ảnh được khôi phục nào khớp với logo dự định trước khi sử dụng.

Khôi phục trước rồi mới xét nguồn

Giữ tài liệu không bị ảnh hưởng. Sao chép phương tiện được lưu trữ của nó, xác định logo chính xác và kiểm tra kích thước, cạnh pixel thực và phần cắt dự định. Giữ nguyên một vectơ hiện có khi bạn tìm thấy một vectơ; chỉ theo dõi khi raster cần đường dẫn có thể chỉnh sửa.

Thử với hình ảnh của chính bạn
Mở công cụ đầy đủ
Dùng thử miễn phí. Thả ảnh vào để xem trước bản vector của bạn, không cần đăng ký.

Kích thước hình ảnh được lưu trữ khác với vị trí trang

Hình ảnh nhúng là một tập tin được lưu giữ bên trong gói tài liệu. Vị trí là cách hình ảnh đó được định vị và định kích thước trên trang hoặc trang trình bày. Việc cắt xén hoặc hiệu ứng có thể thay đổi những gì bạn nhìn thấy mà không giống với tệp phương tiện cơ bản.

Hướng dẫn cấu trúc tài liệu Word của Microsoft mô tả gói ZIP DOCX và các bộ phận cấu thành của nó. Ví dụ chèn ảnh của nó lưu trữ dữ liệu ảnh trong một phần ảnh và tham chiếu đến nó từ tài liệu. Bạn không cần phải viết mã Open XML để thử trích xuất bên dưới.

Giữ ba câu hỏi này riêng biệt:

Câu hỏiNhững gì cần kiểm traĐiều đó không chứng minh được
Bao nhiêu chi tiết raster được lưu trữ?Kích thước và cạnh pixel của hình ảnh được trích xuấtChỉ riêng kích thước vị trí trang của nó không trả lời được điều này
Đây có phải là logo được phê duyệt không?Phiên bản, chữ cái, màu sắc và loại cây dự địnhTệp lớn nhất không tự động là tệp chính xác
Tôi có cần đường dẫn vector không?Yêu cầu của công việc chỉnh sửa, in ấn hoặc cắt tiếp theoBản thân quá trình trích xuất không biến pixel thành đường dẫn

Nếu khách hàng có bản gốc của nhà thiết kế, hãy yêu cầu nó. Hướng dẫn tiếp nhận biểu trưng có độ phân giải thấp đề cập đến cách phân loại đó. Việc kiểm tra phương tiện lưu trữ của tài liệu rất hữu ích khi tệp Office là nguồn tốt nhất hiện có.

Sao chép phương tiện từ bản sao tài liệu

Bạn cần một bản sao .docx hoặc .pptx cục bộ, không được mã hóa thông thường, Python 3 và tên thư mục đầu ra mới. Đây là quy trình trích xuất tệp chứ không phải hướng dẫn sử dụng menu Office. .doc kế thừa, tài liệu được mã hóa, ảnh trực tuyến được liên kết và hành vi Lưu dưới dạng ảnh gốc nằm ngoài phạm vi được thử nghiệm.

  1. Sao chép tài liệu. Giữ nguyên tệp đã nhận. Đối với lệnh ví dụ, hãy đặt tên cho bản sao là client-logo.docx và đặt nó bên cạnh tập lệnh.
  2. Lưu cái này dưới dạng recover-media.py. Nó sử dụng zipfile tiêu chuẩn của Python, đọc các mục phương tiện và ghi byte của chúng mà không giải mã hoặc nén lại ảnh:
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. Chạy nó từ thư mục đó. Thư mục đầu ra không được tồn tại:
python3 recover-media.py client-logo.docx recovered-logo

Đối với bản sao PowerPoint, hãy thay đổi đầu vào thành tên tệp .pptx của bạn và chọn một thư mục đầu ra khác. Nếu hệ thống của bạn đặt tên Python 3 python thay vì python3, hãy sử dụng tệp thực thi đó để thay thế.

  1. Đọc kết quả đầu ra và kiểm tra các tệp. Đường dẫn được in hiển thị thành viên gói, chẳng hạn như word/media/image1.png hoặc ppt/media/image1.png. Chuỗi thập lục phân dài là dấu vân tay SHA-256 của byte của nó. Tên đầu ra được đánh số giúp phân biệt nhiều mục phương tiện; image1 không phải là lời hứa rằng tệp đó là biểu tượng của bạn.
  2. Mở các ứng cử viên có khả năng trong trình xem hình ảnh. Kiểm tra kích thước pixel và kiểm tra các chữ nhỏ nhất, đường mảnh và cạnh ở mức thu phóng 100%. So sánh phiên bản dự định và cắt xén với tài liệu hoặc tài liệu tham khảo được khách hàng phê duyệt.

Nếu lệnh báo cáo rằng thư mục đầu ra tồn tại, hãy sử dụng tên thư mục mới để bảo toàn kết quả trước đó. Nếu nó không tìm thấy mục phương tiện dự kiến, tài liệu có thể sử dụng một loại nội dung hoặc tham chiếu khác thay vì hình ảnh được nhúng mà tuyến đường này mong đợi. Yêu cầu hình ảnh gốc hoặc xuất không được mã hóa thích hợp. Việc đổi tên .doc cũ thành .docx không chuyển đổi nội dung của nó.

Kiểm tra gói đã phục hồi những gì

Chúng tôi đã tạo các tệp DOCX và PPTX hợp lệ với logo 1600 × 900 PNG ban đầu, mở lại các gói cùng với thư viện tác giả của chúng và trích xuất phương tiện một cách độc lập. PNG được khôi phục từ DOCX khớp chính xác với byte đầu vào, mặc dù chiều rộng vị trí là 4 inch được ghi trong tài liệu.

PPTX chứa cùng một siêu dữ liệu PNG cộng với phần cắt còn lại 25%. Quá trình trích xuất vẫn trả về toàn bộ 1600 × 900 PNG được lưu trữ với cùng một dấu vân tay byte. Đó là một quan sát dữ liệu gói; chúng tôi đã không hiển thị trang chiếu hoặc kiểm tra xem phần cắt của nó trông như thế nào trong PowerPoint.

Chúng tôi cũng đã giảm biểu trưng xuống còn 400 × 225 JPEG trước khi nhúng biểu tượng đó vào một DOCX khác. Quá trình trích xuất trả về các byte JPEG đã giảm tương tự đó, vẫn là 400 × 225. Việc kiểm soát có chủ ý này cho thấy ranh giới: việc truy xuất một hình ảnh đã lưu trữ không đảo ngược việc giảm bớt trước đó. Nó không thể hiện lỗi nén Office.

Phương tiện được trích xuất thực tế từ các gói được kiểm soát
Bản xem trước hiển thị logo PNG 1600 x 900 đã được khôi phục và JPEG đã giảm 400 x 225 trước đó, với các ghi chú phân biệt phương tiện được lưu trữ với vị trí DOCX và siêu dữ liệu cắt xén PPTX
PNG được lưu trữ ban đầu được phục hồi từng byte. JPEG giảm trước khi nhúng vẫn giảm sau khi trích xuất.

Đây là các bài kiểm tra gói do thư viện tạo ra, không phải là các bài kiểm tra giao diện người dùng Word hoặc PowerPoint gốc, Lưu dưới dạng ảnh hoặc kết xuất hiển thị. Không có chuyển đổi PerfectVector nào được chạy cho so sánh này.

Chọn tài sản được thu hồi trước khi truy tìm

Đừng chỉ chọn theo tên tệp hoặc kích thước tệp. Một tài liệu có thể chứa các hình ảnh hoặc biến thể khác và hình ảnh được lưu trữ có thể bao gồm nội dung bên ngoài vùng cắt hiển thị. Xác nhận hình dạng, nhãn từ, phiên bản và phần cắt bắt buộc của biểu tượng trước khi coi biểu tượng đó là nguồn.

Nếu bạn khôi phục một tệp vectơ hiện có, hãy giữ nó và kiểm tra xem nó có chứa các đường dẫn bạn cần hay không. Không có lợi ích gì trong việc rasterize nó chỉ để theo dõi lại nó. Hướng dẫn định dạng tệp biểu tượng giải thích các bản gốc có thể chỉnh sửa và bản sao phân phối. Khôi phục chỉ PDF là một nhiệm vụ riêng biệt bao gồm kiểm tra và chuyển đổi tác phẩm nghệ thuật PDF.

Đối với raster, hãy kiểm tra các pixel bạn thực sự đã khôi phục. Nếu chữ nhỏ đã bị mờ, bị gãy hoặc bị thiếu, hãy tìm bản gốc hoặc cố tình xây dựng lại chúng. Việc phóng to bản sao được lưu trữ không chứng minh được hình dạng chữ cái bị mất. Một hình ảnh lớn hơn với hình ảnh không phù hợp hoặc thương hiệu lỗi thời cũng là nguồn sai.

Để chuyển giao tài liệu trong tương lai, Microsoft sẽ tạo tài liệu điều khiển nén ảnh cho Word, PowerPoint và Excel. Đó là cài đặt phòng ngừa để thảo luận với tác giả tài liệu, không phải thao tác khôi phục được thử nghiệm ở đây. Yêu cầu riêng tệp logo gốc khi có thể.

Chỉ vectorize khi công việc tiếp theo cần đường dẫn

PerfectVector phù hợp khi tệp được khôi phục là biểu tượng raster có hình dạng hiển thị mà bạn muốn dưới dạng đường dẫn vectơ có thể chỉnh sửa. Sử dụng công cụ vector hóa biểu tượng với hình ảnh được chấp nhận tốt nhất, sau đó so sánh bản xem trước với nguồn đó, đặc biệt là các chữ nhỏ nhất, bộ đếm và đường kẻ mảnh.

Khai thác và vector hóa giải quyết các vấn đề khác nhau. Việc đầu tiên lấy dữ liệu hình ảnh được lưu trữ; cái thứ hai diễn giải các hình dạng raster dưới dạng đường dẫn. Cả hai đều không xác nhận rằng bạn đã chọn biểu trưng được phê duyệt và dấu vết không thể chứng minh ý nghĩa ban đầu của việc thiếu pixel. Chỉnh sửa và xuất kết quả PerfectVector yêu cầu mở khóa nó; bản xem trước được bảo vệ chỉ ở chế độ xem.

Câu hỏi thường gặp

Việc trích xuất biểu tượng từ Word có khôi phục được chất lượng ban đầu không? Nó lấy những gì vẫn được lưu trữ trong tài liệu. Nếu đó là ảnh gốc, bạn có thể khôi phục các byte được lưu trữ của nó. Nếu nó được giảm bớt trước khi lưu trữ thì việc trích xuất sẽ không mang lại các pixel bị loại bỏ.

Hình ảnh được trích xuất có khớp với phần cắt hiển thị trên trang không? Không nhất thiết phải như vậy. Gói có thể lưu trữ hình ảnh đầy đủ riêng biệt với siêu dữ liệu vị trí hoặc cắt xén. So sánh tệp đã khôi phục với tác phẩm nghệ thuật dự định và xác nhận bất kỳ phần cắt nào trước khi sử dụng.

Tôi có thể sử dụng cùng một tập lệnh cho PowerPoint không? Có, đối với quy trình làm việc PPTX không được mã hóa thông thường được thử nghiệm tại đây. Cung cấp cho tập lệnh một bản sao PPTX và tên thư mục đầu ra mới. Nó sao chép phương tiện từ các thư mục gói dự kiến; nó không hiển thị slide hoặc áp dụng các hiệu ứng của nó.

Nguồn

  1. Microsoft Learn — Cấu trúc của tài liệu WordprocessingML — Giải thích gói ZIP DOCX và các phần tài liệu cấu thành của nó.
  2. Microsoft Learn — Chèn ảnh vào tài liệu soạn thảo văn bản — Hiển thị dữ liệu hình ảnh được lưu trữ trong phần hình ảnh được tài liệu tham chiếu.
  3. Python — zipfile — Ghi lại trình đọc lưu trữ thư viện tiêu chuẩn được sử dụng bởi tập lệnh trích xuất đã thử nghiệm.
  4. Hỗ trợ của Microsoft — Tắt tính năng nén ảnh — Mô tả cài đặt nén phòng ngừa cho việc chuyển giao tài liệu trong tương lai.

Nếu raster đã khôi phục của bạn cần các đường dẫn có thể chỉnh sửa, hãy bắt đầu miễn phí với biểu tượng đó. Kiểm tra các chữ nhỏ và chi tiết mỏng của bản xem trước vector so với hình ảnh được trích xuất trước khi chấp nhận kết quả.

Thêm từ blog

PerfectVector

Biến logo hoặc tác phẩm thành
SVG gọn sạch, dễ chỉnh sửa

Vector hóa và kiểm tra bản xem trước miễn phí, không giới hạn theo ngày.