Cách tìm hiểu WHERE một phông chữ cụ thể được sử dụng trong tài liệu PDF


20

Đối với một PDF được sử dụng một số phông chữ (ví dụ, trong Acrobat Reader, các phông chữ sử dụng có thể được nhìn thấy khi chọn Files> Properties> Fonts) làm thế nào tôi có thể tìm ra nơi một phông chữ nhất định được sử dụng trong các tài liệu (sử dụng phần mềm Adobe Acrobat 7 , Reader hoặc công cụ PDF miễn phí)

Nói rõ hơn: Tôi không muốn tìm phông chữ nào được sử dụng trên một đoạn văn bản nhất định (Tôi biết cách thực hiện điều đó bằng Acrobat 9 Professional, xem câu hỏi Siêu người dùng này ). Thay vào đó tôi muốn tìm nơi sử dụng một phông chữ cụ thể.


Bạn có thể vui lòng trả lời bình luận trên của @ Arjan không?
Mehper C. Palavuzlar

1
@Arjan & Mehper: Xong
Rabarberski

Câu trả lời:


15

Bây giờ câu hỏi này hơi cũ, nhưng tôi đã đến đây thông qua Google và một người khác cũng có thể. Giải pháp của tôi là tạo một hồ sơ Preflight (Acrobat 9 Pro) bị lỗi về thông tin phông chữ. Nhấp vào tên phông chữ trong kết quả, sau đó nhảy đến trang và tô sáng văn bản. Nhược điểm là bạn có được một danh sách tất cả các phông chữ trên tất cả các trang được sắp xếp theo trang chứ không phải theo tên phông chữ, nhưng nó cung cấp một giải pháp cho tôi.

1) Tạo cấu hình chiếu trước tùy chỉnh mới Nâng cao | Preflight | Tùy chọn | Tạo Cấu hình chiếu trước mới

2) Đặt tên cho hồ sơ (Fontfinder, nói)

3) Trong cửa sổ bên trái của hộp thoại, nhấp vào "Kiểm tra tùy chỉnh"

4) Trong cửa sổ bên phải của hộp thoại bên dưới hộp trống, nhấp vào biểu tượng dấu cộng để tạo một kiểm tra mới và đưa vào hồ sơ hiện tại

5) Nhấp vào "văn bản" trong Nhóm, thuộc tính dưới cùng là "Kích thước văn bản". Chọn mục này và nhấp vào "Thêm"

6) Khung bên dưới bây giờ có nhiều tùy chọn hơn. Nhấp vào các tùy chọn thả xuống có thể được gắn nhãn "bằng" và chọn "nhỏ hơn"

7) Nhập một giá trị lớn trong trường Số. Tôi đã nhập 500

8) Trên cùng bên trái của hộp thoại khi kiểm tra báo cáo cháy là ... và nhập nội dung như Văn bản có kích thước 500 pt trở xuống và nhấp vào OK. Cần có một kiểm tra tùy chỉnh mới trong khung với một chữ thập đỏ bên cạnh nó. Nếu chữ thập không có màu đỏ, nhấp vào nhãn kiểm tra và chọn "lỗi" bên dưới khung

Lặp lại các bước trên để kiểm tra lỗi khác, nhưng thay đổi tùy chọn cho 500 thành "lớn hơn hoặc bằng" và Kiểm tra báo cáo cháy dưới dạng Văn bản 500 pt trở lên

9) Nhấp OK trong Hộp thoại Chỉnh sửa Hồ sơ

10) Chạy hồ sơ trên PDF của bạn

Tôi đặt phông chữ thành lỗi trên kích thước điểm lớn để tất cả các lỗi sẽ báo cáo trong một nhóm. Việc kiểm tra thứ hai chỉ đơn giản là bắt bất kỳ phông chữ nào lớn hơn thế. Tôi cho rằng bạn có thể kiểm tra pt size 50000 và có kết quả tương tự.


5
Câu trả lời này đã giúp rất nhiều. Tuy nhiên, ở bước 5, thay vì chọn Textnhóm, hãy chọn Fontnhóm, sau đó Base Font Namenhập tên phông chữ, hoạt động đẹp hơn rất nhiều.
Jesse Tốt

6

Dưới đây là cách tìm hiểu cho từng trang riêng lẻ mà bộ phông chữ được sử dụng trên đó. (Xin lỗi, tôi không biết cách làm cho nhận thức về vị trí sử dụng phông chữ cụ thể hơn so với sử dụng trang mà không cần dùng đến phần mềm thương mại mở rộng như pdfToolbox4 của Callassoftware.com hoặc Enf Focus ' PitStop .)

Phương pháp này sử dụng pdffonts.exetiện ích của XPDF , Phần mềm miễn phí được cấp phép GPL:

  1. Truy cập: http://www.foolabs.com/xpdf/doad.html và tải xuống: ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4-win32.zip .
  2. Trích xuất tệp * .zip vào một số thư mục và tìm các tiện ích * .exe khác nhau có trong đó.
  3. Bây giờ, để hiển thị tất cả các phông chữ được sử dụng trên trang 22 của tài liệu, hãy chạy:

    pdffonts.exe -f 22 -l 22 c:\path\to\some\pdf.pdf
    
  4. Để xem tất cả các phông chữ được sử dụng trong tài liệu hoàn chỉnh, chỉ cần chạy:

    pdffonts.exe c:\path\to\some\pdf.pdf
    
  5. Để có danh sách các phông chữ được sử dụng trên mỗi trang của tệp PDF 22 trang, chỉ cần sử dụng:

    for /l %i in (1,1,22) do ^
          (echo.PAGE %i & pdffonts -f %i -l %i c:\path\to\some\pdf.pdf)
    

4
Phương pháp này cũng hoạt động trên Linux / Mac, ngoại trừ khóa nhị phân được gọi pdffontschứ không phải pdffonts.exevà đường dẫn sẽ sử dụng dấu gạch chéo về phía trước.
ShreevatsaR


1

Trong báo cáo được tạo bởi Acrobax X Preflight, nhấp vào nút "Hiển thị trong Snap" ở góc dưới bên trái của cửa sổ báo cáo, sau đó trong danh sách cửa sổ, nhấp vào + Tổng quan và + Trang, Mỗi trang của pdf được liệt kê , nhấp vào + Trang: 1 chẳng hạn, nhấp vào + Phông chữ, phông chữ cho trang được liệt kê, nhấp vào phông chữ và văn bản được sử dụng sẽ hiển thị trong cửa sổ Xem trước của Preflight. Nếu bạn phải, bạn có thể sử dụng find trong acrobat để định vị văn bản. Tôi đã tìm thấy nó không phải lúc nào cũng được báo cáo trên trang, nhưng chế độ xem nhanh hiển thị chính xác văn bản mà một phông chữ cụ thể được sử dụng, do đó cần phải sử dụng tìm văn bản thông thường.


0

Có lẽ không liên quan đến bạn nếu PDF ban đầu không được tạo trong Word, nhưng nếu có, bạn có thể tìm thấy các phông chữ trong Word bằng Tìm kiếm nâng cao, như được mô tả ở đây .

Nói ngắn gọn:

  1. Tìm thấy
  2. Nâng cao...
  3. Định dạng -> Phông chữ

vv Bạn có thể làm việc phần còn lại.


0

Sau đây là tập lệnh thực hiện điều này trên Linux hoặc các hệ điều hành tương tự, chỉ sử dụng phần mềm nguồn mở (qpdf và pdffonts).

#!/usr/bin/ruby

# usage:
#  find_page_where_font_is_used.rb file.pdf Nimbus
# Finds the first page in file.pdf where a font with a name containing Nimbus is used.
# Font names are matched in a case-insensitive way.
# Requires pdffonts, qpdf.

def die(message)
  $stderr.print "error in find_page_where_font_is_used.rb: #{message}\n"
  exit(-1)
end

def shell_out(command)
  output = `#{command}`
  result = $?
  if !(result.success?) then
    die("error in command #{command}")
  end
  return output.strip
end

def is_used_in_page_range(font,pdf,from,to)
  table = shell_out("pdffonts -f #{from} -l #{to} #{pdf}")
  if table=~/^[a-zA-Z0-9\+\-]*#{font}/i then
    return true
  else
    return false
  end
end

def search_for_font(font,pdf,from,to)
  print "Searching pages #{from}-#{to}.\n"
  if from==to then
    return from
  else
    mid = (from+to)/2
    if mid==to then mid=to-1 end
    if is_used_in_page_range(font,pdf,from,mid) then
      return search_for_font(font,pdf,from,mid)
    else
      return search_for_font(font,pdf,mid+1,to)
    end
  end
end

def main

  pdf = ARGV[0]
  font = ARGV[1] # can be a substring, e.g., Deja or Nimbus
  n = shell_out("qpdf --show-npages #{pdf}").to_i
  print "total pages = #{n}\n"
  if !is_used_in_page_range(font,pdf,1,n) then
    print "No font in #{pdf} has a name containing the string #{font} (case-insensitive).\n"
    exit(0)
  end
  p = search_for_font(font,pdf,1,n)
  print "The font first occurs on page #{p}.\nOutput of pdffonts for this page:\n"
  print shell_out("pdffonts -f #{p} -l #{p} #{pdf}")+"\n"
end

main

-1

Ở đâu đó trên internet tôi đã tìm thấy phương pháp khác này hoạt động, nếu bạn có Adobe Acrobat (tôi nghĩ rằng nó hoạt động sau 7).

Tìm công cụ> Chỉnh sửa văn bản tài liệu (Tôi đang đọc từ Acrobat 10X của tôi, nó có thể khác trong phiên bản của bạn, nhưng bạn sẽ có thể tìm thấy những gì tôi đang nói về)

Khi một hộp văn bản được chọn, nhấp chuột phải và xem các thuộc tính. Ở đó, nó sẽ nói phông chữ được sử dụng.

đã chỉnh sửa: tìm thấy liên kết đến tài liệu tham khảo của tôi: http://www.deepbluesky.com/blog/-/extracting-font-inif-from-pdf-files_35/


Như đã nêu cụ thể trong câu hỏi của tôi, vấn đề bạn đang giải quyết không phải là câu hỏi của tôi.
Rabarberski
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.