DOCX và DOC: Tại sao Microsoft lại quyết định thay đổi?
Một định dạng tồn tại 20 năm—và tại sao đó lại là một vấn đề
Định dạng .doc, được giới thiệu cùng Word cho DOS vào năm 1983, là định dạng xử lý văn bản mặc định của Microsoft trong hơn hai thập kỷ. Đến thời điểm Office 2003 ra mắt, các file .doc đơn giản là có ở khắp mọi nơi. Chúng tồn tại trên máy chủ của các công ty, hệ thống của chính phủ, mạng lưới trường đại học, và tất nhiên, cả máy tính cá nhân. Định dạng này hoạt động tốt, nhưng nó mang theo gánh nặng nghiêm trọng từ lịch sử lâu đời của mình. Vấn đề cốt lõi của định dạng này là tính thiếu minh bạch. Một file .doc là một khối nhị phân độc quyền (proprietary binary blob), một cấu trúc mà chỉ Microsoft mới thực sự hiểu rõ. Điều này đã tạo ra một cơn ác mộng cho các nhà phát triển bên thứ ba. Bất kỳ ai muốn xây dựng phần mềm có thể đọc hoặc ghi file .doc đều phải thực hiện kỹ thuật đảo ngược đặc tả của nó, một quá trình đau đớn và chắc chắn dẫn đến các lỗi tương thích, định dạng lộn xộn, và mất dữ liệu. Trong nhiều năm, WordPerfect, LibreOffice, và Google Docs đều đã chiến đấu trong một cuộc chiến vô vọng để đạt được độ trung thực hoàn hảo với file .doc. Bảo mật là một vấn đề lớn khác. Bởi vì các file .doc có thể nhúng các macro VBA mạnh mẽ bên trong vùng chứa nhị phân mờ đục đó, các công cụ diệt virus và bộ lọc email đã rất vất vả để kiểm tra chúng một cách đáng tin cậy. Lỗ hổng thiết kế này đã góp phần thổi bùng các đợt bùng phát virus macro vào cuối những năm 1990. Virus Melissa vào năm 1999, đã lây nhiễm cho khoảng một triệu máy tính, lây lan hiệu quả đến vậy là vì mã độc của nó dễ dàng ẩn mình bên trong một tài liệu có vẻ ngoài vô hại. Đến thiên niên kỷ mới, áp lực ngày càng gia tăng. Các chính phủ và doanh nghiệp lớn, bao gồm Ủy ban Châu Âu và một số cơ quan liên bang của Hoa Kỳ, bắt đầu công khai đặt câu hỏi liệu các định dạng nhị phân độc quyền có phù hợp để lưu trữ hồ sơ công cộng lâu dài hay không. Microsoft cần một câu trả lời đáng tin cậy và cởi mở.
Bên trong một file DOCX thực sự có gì
Khi Microsoft ra mắt DOCX cùng với Office 2007, đó không chỉ là một phần mở rộng mới cho một file cũ. Đó là một sự tái tạo hoàn toàn, được xây dựng trên một đặc tả gọi là Open Packaging Conventions (OPC), mà bản thân nó lại dựa trên phương pháp nén ZIP. Đây không chỉ là một thông tin bên lề—đó là chìa khóa để hiểu mọi thứ làm cho DOCX trở nên tốt hơn. Đây là một mẹo nhỏ: hãy lấy bất kỳ file .docx nào, đổi tên nó để kết thúc bằng đuôi .zip, và mở nó ra. Bạn sẽ thấy một cấu trúc thư mục tiêu chuẩn. Bên trong, bạn sẽ tìm thấy các file XML, một thư mục _rels cho các ánh xạ quan hệ, và một thư mục con word/ chứa tài liệu thực tế. Văn bản chính nằm trong word/document.xml. Các kiểu định dạng (style) được định nghĩa trong word/styles.xml. Hình ảnh được lưu trữ dưới dạng các file riêng biệt trong word/media/, và siêu dữ liệu như tác giả và ngày tạo nằm trong docProps/core.xml. Kiến trúc này có những lợi ích thực tế sâu sắc. XML có thể đọc được bởi con người, nghĩa là một nhà phát triển có thể mở document.xml trong một trình soạn thảo văn bản và thấy nội dung cũng như cấu trúc của tài liệu được phơi bày rõ ràng. Sự minh bạch này đã giúp cho Google, Apple, LibreOffice, và vô số nhà cung cấp khác xây dựng hỗ trợ DOCX đáng tin cậy một cách dễ dàng hơn rất nhiều. Đó là một yếu tố thay đổi cuộc chơi về khả năng tương tác. Và bởi vì hình ảnh và các tài sản khác được lưu trữ dưới dạng các file riêng lẻ bên trong vùng chứa ZIP, việc hỏng một phần của gói không nhất thiết phá hủy toàn bộ tài liệu. Một file .doc bị hỏng thường là mất trắng; một file .docx bị hỏng thường có thể được sửa chữa thủ công. Bản thân việc nén ZIP cũng cực kỳ hiệu quả. Một báo cáo kinh doanh có dung lượng 450 KB dưới dạng file .doc có thể thu nhỏ chỉ còn 180–220 KB dưới dạng .docx. Đối với các tổ chức lưu trữ hàng triệu tài liệu, việc giảm hơn 50% chi phí lưu trữ đó hoàn toàn không phải là chuyện nhỏ.
Quá trình chuyển đổi tương thích: Những gì Microsoft đã làm đúng và sai
Microsoft biết rằng họ không thể ép buộc một sự cắt bỏ đột ngột. Office 2007 được phát hành kèm theo một gói tương thích, cho phép người dùng Office 2003 và XP mở và lưu các file DOCX. Công ty cũng giữ .doc như một tùy chọn “Save As”, và bạn vẫn có thể tìm thấy lựa chọn định dạng “Word 97-2003 Document (.doc)” trong các phiên bản mới nhất của Microsoft 365. Tuy nhiên, quá trình chuyển đổi vẫn rất lộn xộn. Các tổ chức chạy Office 2003 trên Windows XP—một lượng người dùng khổng lồ vào năm 2007—đã phải yêu cầu bộ phận IT cài đặt thủ công gói tương thích đó. Các hệ thống email của công ty đã chặn các tệp đính kèm .docx vì cho là loại file không xác định cho đến khi quản trị viên cập nhật chính sách bảo mật của họ. Vài năm đầu tiên áp dụng DOCX đã tạo ra rất nhiều phiếu yêu cầu hỗ trợ (help desk tickets). Cũng có những vấn đề thực sự về sự tương đương tính năng. Một số tính năng cũ của .doc không ánh xạ một cách trơn tru sang lược đồ OOXML mới. Các mã trường (field codes) phức tạp, các đối tượng vẽ cũ (đặc biệt là những đối tượng từ lớp vẽ VML), và các tài liệu được chỉnh sửa qua nhiều phiên bản Word thường tích lũy những điểm định dạng kỳ quặc và chuyển đổi không hoàn hảo. Bất kỳ ai đã từng mở một file .doc cũ trong Word hiện đại đều đã thấy thanh cảnh báo tương thích màu vàng đó. Nhấp vào File > Info > Convert sẽ loại bỏ cảnh báo, nhưng nó cũng có thể làm thay đổi dòng chảy văn bản một cách tinh vi hoặc làm hỏng kích thước bảng trong các bố cục phức tạp. Đối với hầu hết các tài liệu—một lá thư, báo cáo, hoặc đề xuất thông thường—việc chuyển đổi diễn ra liền mạch. Nhưng đối với các tài liệu được xây dựng với bố cục trang chính xác liên quan đến các hộp văn bản chồng chéo và các đối tượng cũ được nhúng, bạn phải kiểm tra file đã chuyển đổi. Bạn không thể cứ cho rằng nó đã hoạt động tốt.
Kích thước File, Rủi ro Hỏng hóc và Lưu trữ Dài hạn
Lợi thế về kích thước của DOCX so với DOC là có thật, nhưng nó không phải lúc nào cũng giống nhau. Các tài liệu chứa nhiều văn bản sẽ được nén rất nhiều. Còn các tài liệu chủ yếu là hình ảnh nhúng thì không được như vậy. Đó là bởi vì các file JPEG và PNG đã được nén sẵn trước cả khi chúng được đưa vào vùng chứa ZIP. Một báo cáo 10 trang với một biểu đồ có thể giảm từ 380 KB (.doc) xuống còn 160 KB (.docx). Một tài liệu 10 trang chứa đầy 15 ảnh chụp màn hình độ phân giải cao có thể chỉ giảm từ 8.2 MB xuống 7.9 MB. Cách chúng xử lý khi bị hỏng là một sự khác biệt rõ rệt hơn nhiều. Vì file .doc là một luồng nhị phân duy nhất, một sector hỏng trên ổ đĩa hoặc mất kết nối mạng trong khi lưu có thể khiến toàn bộ file không thể đọc được. Tính năng phục hồi tích hợp của Word cho file .doc chỉ là một nỗ lực phỏng đoán tốt nhất, quét tìm các mẫu nhị phân mà nó nhận ra. Mặt khác, việc hỏng file DOCX lại mang tính chi tiết hơn. Word thường có thể mở một file .docx bị hỏng và phục hồi toàn bộ văn bản từ document.xml ngay cả khi hình ảnh hoặc các style đã mất. Bạn thậm chí có thể thử sửa chữa thủ công bằng cách mở file dưới dạng ZIP và tự mình lấy file XML ra. Nhưng để lưu trữ lâu dài, hãy nói rõ ràng: cả hai định dạng đều không phải là lựa chọn đúng đắn. Tiêu chuẩn chính thức để bảo quản tài liệu là PDF/A (ISO 19005), định dạng này nhúng phông chữ, loại bỏ nội dung động, và được thiết kế đặc biệt để truy cập được trong tương lai. Nếu bạn đang lưu trữ hợp đồng, hồ sơ pháp lý, hoặc các tài liệu công, quy trình làm việc đúng là hoàn thiện trong DOCX và sau đó xuất ra PDF/A. Bạn không lưu trữ định dạng có thể chỉnh sửa. CocoConvert có thể xử lý việc chuyển đổi từ DOCX sang PDF của bạn, nhưng đối với các tài liệu có macro phức tạp, bạn sẽ cần phải xử lý các yếu tố đó trong Word trước để có được kết quả sạch sẽ.
Những khác biệt về bảo mật thực sự quan trọng
Hầu hết mọi người tin rằng DOCX vốn dĩ an toàn hơn DOC. Họ chỉ đúng một nửa. Sự khác biệt tinh tế ở đây rất quan trọng. Phần an toàn là đúng: các file .docx thông thường không thể chứa macro VBA. Microsoft đã thông minh tạo ra một phần mở rộng riêng biệt, .docm, cho các tài liệu có chứa macro. Sự tách biệt đơn giản này giúp các bộ lọc email và phần mềm bảo mật dễ dàng xác định và chặn các file có thể chứa mã thực thi. Đó là một lựa chọn thiết kế thông minh trong đặc tả OOXML. Nhưng các file DOCX không hoàn toàn vô hại. Chúng có thể chứa các mối quan hệ bên ngoài—các liên kết trỏ đến các tài nguyên từ xa và tải chúng khi tài liệu được mở. Một file .docx được tạo ra một cách tinh vi có thể giấu một tham chiếu đến máy chủ của kẻ tấn công trong thư mục _rels của nó. Khi người dùng mở file, Word có thể thực hiện một yêu cầu HTTP ra ngoài, có khả năng làm rò rỉ địa chỉ IP và thông tin đăng nhập Windows của người dùng thông qua xác thực NTLM. Cuộc tấn công này, được biết đến với tên gọi remote template injection, đã được sử dụng trong các chiến dịch thực tế chống lại các mục tiêu có giá trị cao như nhà báo và nhà hoạt động. Microsoft đã giảm thiểu phần tồi tệ nhất của vấn đề này bằng các bản vá và tính năng Protected View, vốn mở các tài liệu được tải xuống trong một môi trường an toàn (sandbox). Tuy nhiên, cơ chế cơ bản vẫn còn đó. Bài học rút ra rất đơn giản: bạn vẫn nên đối xử với các file .docx từ các nguồn không xác định một cách nghi ngờ. Hãy mở chúng trong Protected View, hoặc tốt hơn nữa, chuyển đổi chúng sang PDF trước khi chia sẻ. Với các file .doc, rủi ro thậm chí còn cao hơn vì định dạng nhị phân mờ đục khiến việc phân tích khó khăn hơn và việc thực thi macro cũ là một mối đe dọa đã được biết đến.
Khi nào bạn vẫn cần làm việc với file DOC
Mặc dù DOCX đã là định dạng mặc định trong gần hai thập kỷ, các file .doc vẫn chưa biến mất. Các phòng pháp chế thường có các thư viện mẫu khổng lồ ở định dạng .doc vì các hệ thống quản lý tài liệu đắt tiền của họ—như iManage hay OpenText từ giữa những năm 2000—được xây dựng cho nó và không bao giờ được nâng cấp. Một số cơ quan chính phủ vẫn bắt buộc sử dụng .doc cho các hồ sơ pháp lý. Và bất kỳ ai đã từng dọn dẹp một máy chủ cũ đều biết, các file .doc tích tụ như trầm tích kỹ thuật số qua nhiều năm. Mở một file .doc trong phiên bản Word hiện đại thường không có vấn đề gì. Word 2016, 2019, 2021, và Microsoft 365 đều xử lý chúng tốt, ngay cả khi chúng hiển thị biểu ngữ chế độ tương thích. LibreOffice Writer cũng làm tốt công việc này, mặc dù nó có thể gặp khó khăn với các tài liệu có các thay đổi được theo dõi (tracked changes) phức tạp từ nhiều tác giả. Thách thức thực sự là chuyển đổi hàng loạt. Việc biến một thư mục chứa 200 file .doc từ năm 2004 thành các file .docx hoặc PDF hiện đại có thể là một cơn đau đầu. Bạn có thể sử dụng trình ghi macro của Word, nhưng điều đó đòi hỏi phải cài đặt Word và biết một chút về VBA. Đây là lúc một công cụ như CocoConvert phát huy tác dụng, xử lý việc chuyển đổi từ .doc sang DOCX và từ .doc sang PDF mà không cần giấy phép Office cục bộ. Nó hoàn hảo để sử dụng trên máy chủ Linux hoặc trong môi trường hỗn hợp. Điểm cần lưu ý duy nhất là với các trường hợp ngoại lệ thực sự: các tài liệu có nhiều macro VBA, các đối tượng OLE nhúng như biểu đồ Excel cổ, hoặc lịch sử sửa đổi kéo dài từ thời Word 95. Những file đó thường cần ứng dụng Word gốc để tự sắp xếp lại một cách chính xác.
Chọn định dạng phù hợp cho quy trình làm việc của bạn
Đối với hầu hết mọi người, quyết định rất đơn giản: hãy sử dụng .docx. Đó là tiêu chuẩn hiện đại, được hỗ trợ bởi mọi trình xử lý văn bản có liên quan trên hành tinh. Cấu trúc XML mở của nó giải phóng bạn khỏi việc bị khóa vào định dạng độc quyền của một nhà cung cấp duy nhất. Nếu bạn đang tạo một tài liệu mới hôm nay, hoàn toàn không có lý do chính đáng nào để lưu nó dưới dạng file .doc. Lựa chọn chỉ trở nên phức tạp khi bạn buộc phải làm việc với một hệ thống cũ cụ thể. Nếu hệ thống nộp hồ sơ điện tử của tòa án yêu cầu rõ ràng là .doc, thì bạn hãy lưu dưới dạng .doc. Nếu hệ thống quản lý tài liệu của công ty bạn có các lỗi đã biết với tính năng theo dõi thay đổi của DOCX, thì bạn hãy tiếp tục sử dụng những gì đang hoạt động cho đến khi nó được sửa. Định dạng bạn chọn được quyết định bởi nơi file sẽ đến, chứ không chỉ là sở thích cá nhân của bạn. Khi chuyển đổi giữa các định dạng, hãy nhớ rằng độ phức tạp của tài liệu là yếu tố lớn nhất. Một lá thư xin việc đơn giản hoặc một bản ghi nhớ một trang sẽ chuyển đổi một cách hoàn hảo. Một báo cáo phức tạp dài 50 trang với các bảng lồng nhau, các style tùy chỉnh được xây dựng trên các style tùy chỉnh khác, và một bộ sưu tập các đối tượng vẽ thì mong manh hơn nhiều. Hãy tin tôi về điều này: luôn luôn mở file đã chuyển đổi và cuộn qua toàn bộ nội dung trước khi bạn gửi nó cho bất kỳ ai quan trọng. Cuối cùng, nếu mục tiêu của bạn là phân phối bản cuối cùng, bạn nên bỏ qua hoàn toàn cuộc tranh luận DOC và DOCX và sử dụng PDF. Một file PDF bảo toàn bố cục của bạn một cách hoàn hảo, có thể xem được trên mọi thiết bị, và là thứ mà người nhận của bạn thực sự muốn cho một tài liệu đã hoàn thành. Quy trình làm việc tốt nhất rất rõ ràng: giữ bản gốc có thể chỉnh sửa của bạn ở định dạng DOCX, phân phối phiên bản cuối cùng ở định dạng PDF, và chỉ chuyển đổi giữa các định dạng có thể chỉnh sửa khi một hệ thống cụ thể buộc bạn phải làm vậy.