Thực ra phần chia sẻ của tác giả cũng có một số điểm chưa hợp lý dẫn đến các giải pháp bị lệch pha. Tôi không phải là chuyên gia về chuẩn cấu trúc dữ liệu PDF nhưng cũng xin giải thích một cách sơ bộ thế này:
Về định dạng file PDF - tôi không kịp viết hết, nhưng xin cố gắng chia sẻ dần dần
PDF - được thiết kế để giúp các văn bản giữ được định dạng giống nhau qua các máy tính mà không quá phụ thuộc vào sự sẵn có của bộ phông chữ hoặc nhưng đặc điểm cấu hình riêng biệt của từng máy tính. Chính vì điểm này mà trong PDF dữ liệu không còn giống như ta nghĩ nữa.
Hãy nhìn chữ [ắ] (sử dụng phông chữ .VnTime), nhưng khi sử dụng font Unicode thì nó là [
¾] - nó sẽ có hình dạng khác nhau nếu ta sử dụng bộ phông chữ khác nhau. Nhưng trong file PDF, nếu ta có phần mềm để đọc, nhìn chung bạn cơ bản là không thấy sự khác biệt cho dù máy tính của bạn có hay không có phông .VnTime.
Vậy điều này là gì? Trong cấu trúc tập tin PDF, người ta không dùng dữ liệu kiểu Text để hiển thị dữ liệu mà bộ công cụ định dạng PDF khi chúng ta xuất ra định dạng này đã chuyển dữ liệu sang dạng ảnh vecto (Glyph). Hay nói khác hơn, chữ [ắ] không phải là ký tự có số hiệu [7855] trong bảng mã Unicode nữa mà nó đã được chuyển thành một ảnh vec tơ giống chữ [ắ] để bộ công cụ hiển thị chỉ việc xuất ra dưới dạng ảnh mà thôi. Để dễ hiểu, nếu ai đã từng dùng Correll Draw, sẽ hiểu là chế độ Convert Text to Outline, hoặc đây là ảnh thể hiện bằng cách nối điểm các tọa độ của ký tự trong bộ phông chữ. (xem hình dưới)
View attachment 102450
Ngoài ra, để phục vụ yêu cầu chuyển đổi ngược từ ảnh chữ [ắ] sang mã [7855], người ta có một phần trong cấu trúc file PDF quy định phông chữ sử dụng là gì, chuẩn mã hóa là gì để khi cần người ta có thể dịch ngược bằng cách so ảnh với ký tự trong bộ phông vector được đính kèm theo file.
Một số file PDF, nếu họ bỏ phần cấu trúc này đi thì các chương trình dịch ngược sẽ bó tay hoặc làm sai lung tung. Tất nhiên bàn về cấu trúc nghiêm túc của file PDF thì dài lắm có đến cả 1000 trang tài liệu liên quan đến việc này trong trang chủ của Adobe System (đơn vị tạo ra định dạng PDF). Và tôi không thể đủ khả năng để giới thiệu hết.
Quay lại câu chuyện của tác giả
[Kh Biet]
Việc chuyển ngược từ PDF sang Excel thì có nhiều công cụ làm, có một số công cụ kém thì thuật toán đoán ảnh tương đồng với mã ký tự trong bộ phông là kém và nó hay đoán sai, dẫn đến một số ký tự UNICODE nó đành bó tay và đặt kết quả là dấu [?] hoặc ký tự thay thế như dấu [cách].
Việc bạn không đọc được kết quả không phải là do lỗi phông chữ gì cả vì nó chả có gì liên quan đến phông chữ ở đây, mà do phần mềm chuyển từ pdf sang excel bị kém.
Một số công cụ chuyển đổi tốt thì nó "đoán" tương đối chính xác mã tương ứng với ảnh vì thế nên kết quả ra đúng.
Túm lại, xin kết luận một tẹo, khi chuyển từ pdf sang tài liệu có thể sử dụng được (word, Excel), có đến 90% là ta không thể quay lại định dạng cũ được. Và nếu kết quả có sai sót, hãy sử dụng các phần mềm chuyển đổi khác nhau để có kết quả đúng hơn. Việc còn lại thì phải thao tác bằng tay thôi.
Xin phép võ vẽ vài dòng thế. Khi nào có điều kiện ta sẽ trao đổi sâu hơn về vấn đề này các bạn nhể.