Logo Zephyrnet

So sánh các tệp PDF một cách trực quan

Ngày:

Đôi khi một vấn đề có vẻ khó khăn, nhưng sự hiểu biết đúng đắn có thể khiến nó trở nên dễ dàng. Nếu bạn được yêu cầu viết một chương trình để so sánh hai tệp PDF và chỉ ra sự khác biệt, bạn nghĩ điều đó sẽ khó đến mức nào? Nếu bạn là [serhack], bạn sẽ làm được dễ dàng hơn nhiều hơn bạn có thể đoán.

Tất nhiên, đôi khi làm cho một cái gì đó đơn giản phụ thuộc vào việc đơn giản hóa các giả định. Nếu bạn đang mong đợi một tiện ích "giống khác" hiển thị chèn và xóa, đó không phải là những gì đang xảy ra ở đây. Thay vào đó, bạn sẽ thấy hình ảnh của tệp PDF với các thay đổi được đánh dấu bằng hộp màu đỏ. Điều này rất dễ dàng vì chương trình sử dụng các tiện ích có sẵn để hiển thị các tệp PDF dưới dạng hình ảnh và sau đó chỉ cần so sánh các pixel trong hình ảnh kết quả, vẽ các hộp màu đỏ lên các phần không khớp.

Rõ ràng, điều này là tốt nhất cho các tệp PDF chỉ có một vài thay đổi. Ví dụ, việc chèn một đoạn văn sẽ làm cho đầu ra trở nên vô dụng. Vì vậy, bạn có thể cân nhắc việc trích xuất văn bản từ PDF bằng cách sử dụng một cái gì đó như pdf2text (sử dụng cùng một thư viện cơ bản mà nó sử dụng để tạo hình ảnh).

Chương trình phát hiện rất nhiều thông báo về các tệp bị thiếu nhưng dường như vẫn thực hiện công việc. Đây là kết quả của việc so sánh hai phiên bản của trang chủ Hackaday được chụp thành PDF cách nhau vài phút:

Tuy nhiên, bạn có thể thấy rằng nếu một bài báo mới được đăng và mọi thứ trượt xuống từng cái một, bạn sẽ chẳng có gì ngoài một khối màu đỏ khổng lồ.

Đó vẫn là một ý tưởng thông minh. Có rất ít công cụ đáng ngạc nhiên cho việc này, mặc dù chúng tôi đã tìm một vài người khác. Tất nhiên, có rất nhiều Các công cụ Linux để thao tác với các tệp PDF. Nhiều người trong số họ là kết hợp các công cụ khác như thế này là.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?