Thay thế một phông chữ trong một tài liệu PDF


13

Tôi có một tài liệu PDF (không được mã hóa) với các trường mẫu có thể chỉnh sửa. Tuy nhiên, phông chữ cho các trường đó bị hỏng: nó thiếu một số glyphs, vì vậy khi tôi nhập văn bản, một số khoảng trống xuất hiện.

Làm cách nào tôi có thể sửa đổi tài liệu PDF - Tôi không có quyền truy cập vào tài liệu nguồn được sử dụng để tạo nó - để thay thế một phông chữ khác thay cho phông chữ bị hỏng ?

Phông chữ được đề cập là Caliban Adobe của Adobe , mà tôi có thể thấy được nhúng trong tài liệu. Các glyphs hiển thị trống bao gồm, i có lẽ những người khác mà tôi đã không phát hiện ra.

Tôi cũng có một tài liệu tương tự như sử dụng Caliban, mà không hiển thị đúng cách bao gồm các ký tự được liệt kê ở trên như bị phá vỡ. Nếu ai đó có thể cho tôi biết cách lấy một phông chữ từ một tệp PDF và thay thế nó thành một tệp PDF hiện có , đó sẽ là một giải pháp.

Tôi hiện đang sử dụng:

Tôi sẽ quan tâm đến các công cụ chỉnh sửa PDF phần mềm miễn phí khác ( cho dù giá không hay không ), nếu chúng sẽ giúp với nhiệm vụ này.


Bạn đang sử dụng phần mềm xem hoặc chỉnh sửa PDF nào? Phông chữ nào mà các trường mẫu đang sử dụng? Và phông chữ đó có được nhúng sau khi bạn lưu biểu mẫu PDF sang một tên tệp khác không?
Kurt Pfeifle

Cảm ơn vì nhận xét, tôi đã mở rộng mô tả để trả lời câu hỏi của bạn.
bignose

Một câu hỏi nữa: bạn có thể đặt tên cho glyphs (đại khái là: hình dạng chữ cái) mà bạn muốn đặt vào các trường mẫu và chỉ hiển thị dưới dạng khoảng trống không?
Kurt Pfeifle

Phông chữ Caliban của bạn có giống như thế này không: linotype.com/de/202/caliban-schriftfamilie.html hay đúng hơn như thế này: fontspace.com/george-williams/caliban
Kurt Pfeifle

1
@bignose bạn đã tìm được giải pháp cho vấn đề này chưa?
Jubei

Câu trả lời:


5

Rất khó để thay thế một phông chữ được nhúng vào PDF. Tôi không biết về bất kỳ phần mềm phát biểu tự do (được cấp phép GPL) hoặc miễn phí trong bia (miễn phí) nào có thể làm điều đó (bằng cách nhúng phông chữ trước, sau đó nhúng lại một phông chữ duy trì). Tôi chỉ biết hai sản phẩm thương mại làm điều đó: pdfToolbox4 và Enf Focus ' PitStop của callassoftware (tất nhiên, chắc chắn có những sản phẩm khác, nhưng tôi không biết về chúng và hai người này là những người dẫn đầu thị trường ở đây).

Đây là một cách để trích xuất một phông chữ nhúng từ PDF bằng Phần mềm miễn phí. Xin lưu ý rằng bạn chỉ được phép làm điều đó một cách hợp pháp, nếu giấy phép của phông chữ không cấm nó. Trong kho mã nguồn Ghostscript có một tiện ích chương trình PostScript có tên extractFonts.pscó thể trợ giúp ở đây:

  1. Cài đặt Ghostscript. Sử dụng phiên bản mới nhất, 8.71.
  2. Tải xuống tệp http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/extractFonts.ps
  3. Bạn có thể muốn đọc các bình luận có trong tệp đã tải xuống.
  4. Chạy lệnh sau trong hộp DOS (cmd.exe):

    gswin32c.exe ^
        -q ^
        -dNODISPLAY ^
        C:/path/to/extractFonts.ps ^
        -c "(c:/path/to/your-pdf-file.pdf) extractFonts quit"
    
  5. Lưu ý tốt về bất kỳ thông báo cảnh báo hoặc lỗi nào, lệnh có thể phun ra.
  6. Các phông chữ được trích xuất thành công bây giờ sẽ được lưu trữ trong thư mục hiện tại của bạn bằng cách sử dụng cùng tên như trong PDF.

(Xin lưu ý rằng trích xuất phông chữ ở đây không có nghĩa là xóa phông chữ khỏi PDF, nhưng để tạo các phông chữ là bản sao của các phông chữ được nhúng vào PDF.)


Đây là một khối xây dựng khác có thể góp phần đạt được những gì bạn muốn. Bạn có thể muốn giải nén tất cả các phần / luồng đã nén của tệp PDF, do đó bạn có thể dễ dàng chỉnh sửa tệp hơn bằng trình chỉnh sửa văn bản đơn giản. (Cảnh báo: chỉnh sửa tệp PDF không phải là một nhiệm vụ đơn giản, đơn giản --- những nỗ lực chỉnh sửa của bạn sẽ đòi hỏi nhiều bí quyết và thông minh về nội bộ định dạng tệp PDF.)

Thủ thuật này cũng sử dụng một tiện ích từ toolbinthư mục con Subversion của Ghostscript .

  1. Tải xuống tệp http://svn.ghostscript.com/ghostscript/trunk/gs/toolbin/pdfinflt.ps
  2. Bạn có thể muốn đọc bình luận trong tập tin tải về.
  3. Chạy lệnh sau trong hộp DOS (cmd.exe):

    gswin32c.exe ^
         -- ^
         c:/path/to/pdfinflt.ps ^
         c:/path/to/your-pdf-file.pdf ^
         c:/path/to/your-pdf-file-decompressed.pdf
    

Lệnh này sẽ cố gắng giải nén tất cả các luồng được nén 'flate' . (Nếu bạn không may mắn, tệp của bạn cũng sẽ chứa các luồng sử dụng các phương thức nén khác (chẳng hạn như 'zip' ) sẽ không thay đổi bởi lệnh này.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.