나는 가지고있다PDF 파일, 해당 텍스트는 분명히 올바르게 표시되지만 파일 외부를 검색하거나 텍스트를 복사하여 붙여 넣을 때는 표시되지 않습니다. 예를 들어 '외부 트래픽'입니다. 외부에서 복사하여 붙여넣기
2D/28:93/89:4758/9/.5:
pdf 파일을 만들었어요PDF 파일의 원본 버전작동 잘되네요 통과
gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile=example.pdf original.pdf
이 명령은 PDF 파일의 다양한 문제(특히 Windows에서 생성된 PDF 파일의 글꼴 문제)를 해결하기 위해 제가 주로 사용하는 방법입니다.
- 이 명령이 문제를 일으키는 이유는 무엇입니까? pdf 문제에 대한 일반적인 해결책으로 명령을 어떻게 변경합니까?
- 외부에서 올바른 텍스트를 검색하여 복사하여 붙여넣을 수 있도록 PDF 파일의 현재 버전을 수정하는 방법은 무엇입니까? 실제로 복구하고 싶은 파일은 추가 수정을 거쳐 동일한 방식으로 생성되었습니다. 수정 사항을 유지할 수 있도록 수정하고 싶습니다.
감사해요.
답변1
저는 몇 가지 기사를 읽고 Stack Overflow에서 유용한 게시물을 작성했습니다(1,2,삼)은 PDF 파일에 포함된 특정 글꼴에 문제가 있음을 나타내는 것 같습니다. 원본 파일은 다음 글꼴을 사용합니다.
$ pdffonts original.pdf
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
KPSHBO+Wingdings TrueType Custom yes yes no 5 0
KNQZHK+Arial TrueType Custom yes yes no 9 0
YLWHHJ+TimesNewRoman TrueType Custom yes yes no 13 0
HWNDJR+ArialBlack TrueType Custom yes yes no 17 0
QQRMEC+TimesNewRoman,Bold TrueType Custom yes yes no 21 0
아마도 Wingdings 글꼴로 인해 문제가 발생한 것으로 추측됩니다(확실하지는 않습니다). 아마도 시스템에 없을 것입니다. 적어도 나열된 글꼴 중에서 찾을 수 없는 유일한 글꼴은 다음과 같습니다.
$ fc-list | grep -f <(pdffonts original.pdf | grep -oP '\+\K[A-Z][a-z]+') | awk '{print $1}'
/usr/share/fonts/TTF/times.ttf:
/usr/share/fonts/TTF/arialbd.ttf:
/usr/share/fonts/TTF/ariblk.ttf:
/usr/share/fonts/TTF/arialbi.ttf:
/usr/share/fonts/TTF/ariali.ttf:
/usr/share/fonts/TTF/timesi.ttf:
/usr/share/fonts/TTF/timesbd.ttf:
/usr/share/fonts/TTF/timesbi.ttf:
/usr/share/fonts/TTF/arial.ttf:
불행하게도 저는 Wingdings 글꼴을 다음 사이트에서 다운로드해 보았습니다.여기, 다음을 실행합니다.
unzip wingdings.zip
sudo cp Wingdings\ Regular.ttf /usr/share/fonts/TTF/Wingdings.ttf
fc-cache
글꼴이 설치되어 있어야 하는데 gs
명령이 여전히 작동하지 않습니다. 그래서 아마도 이 글꼴을 처리하지 못할 gs
수도 있습니다. 그래서 파일을 올바르게 변환하는 pdfwrite
방법이 있는지 모르겠습니다 . gs
어쩌면 단순히 이 문제가 없는 원본 버전을 사용하는 것이 유일한 선택일 수도 있습니다.