누구든지 어떤 권장 사항이나 손상된 PDF를 복구하기위한 절차가 있습니까? 파일을 열면 "이 문서를 여는 동안 오류가 발생했습니다. 파일이 손상되어 복구 할 수 없습니다."라는 메시지가 나타납니다. 저기 밖에 무수히 많은 도구가있는 것 같지만 아무도 내가 평판이 좋다고 말할 수는 없습니다. 이 오픈 소스 리눅스 기반 솔루션이 있습니까?
누구든지 어떤 권장 사항이나 손상된 PDF를 복구하기위한 절차가 있습니까? 파일을 열면 "이 문서를 여는 동안 오류가 발생했습니다. 파일이 손상되어 복구 할 수 없습니다."라는 메시지가 나타납니다. 저기 밖에 무수히 많은 도구가있는 것 같지만 아무도 내가 평판이 좋다고 말할 수는 없습니다. 이 오픈 소스 리눅스 기반 솔루션이 있습니까?
답변:
Ghostscript는 손상된 PDF를 자동으로 복구합니다 ... 첫 번째 위치에서 열 수있는 경우 (즉, 복구 할 수 없을 정도로 손상되지 않은 경우). 하지만 그 후에도 결과를 다시 확인해야합니다.
Linux의 경우 다음 명령을 사용하십시오.
gs \
-o repaired.pdf \
-sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
corrupted.pdf
Windows에서는 다음을 시도하십시오.
gswin32c.exe ^
-o repaired.pdf ^
-sDEVICE=pdfwrite ^
-dPDFSETTINGS=/prepress ^
corrupted.pdf
PDF 파일이 손상되었습니다. print.pdf
Ghostscript가 열리지는 않았지만 일반적인 그래픽 리눅스 뷰어 (Okular, Evince)가 잘 열었습니다. (필자의 경우 파일은 16 진수 편집기에서 열 때 PDF 머리글 대신 처음에 가비지가 있습니다.)
이 PDF 뷰어는 Poppler를 백엔드 PDF 렌더러로 사용합니다. 따라서 Poppler의 명령 줄 도구를 사용하여 PDF를 복구 할 수 있습니다. 우분투에서는 이것들이 poppler-utils
꾸러미. 내가 사용 :
pdftocairo -pdf print.pdf print_repaired.pdf
올바른 헤더가있는 PDF 파일을 생성 한 Ghostscript와 같은 도구가 이제 허용되었습니다.
mutool
( 프로젝트 페이지 , 맨 페이지 )
손상된 PDF를 복구합니다. 인쇄하지 않고 .
sudo apt-get install mupdf-tools
mutool clean input.pdf output.pdf
mutool clean [options] input.pdf [output.pdf] [pages] The clean command pretty prints and rewrites the syntax of a PDF file. It can be used to repair broken files, expand compressed streams, filter out a range of pages, etc. If no output file is specified, it will write the cleaned PDF to "out.pdf" in the current directory.
또는 PDF를 렌더링하지 않고 구성 요소로 분해 / 디 컴파일 할 수있는 몇 가지 도구와 프레임 워크가 있습니다. 텍스트, 스크립트 및 이미지 추출에 유용 할 수 있습니다. 이러한 도구 목록은 다음 답변을 참조하십시오. https://reverseengineering.stackexchange.com/q/1526/8210 . 예 : 당신은 현재 최고 대답을 시도 할 수 있습니다. 종이 접기 , GTK 기반 뷰어가 있습니다.
mutool clean
가능한 모든 오류를 수정하지는 않습니다. 글꼴 및 내용 스트림에 여러 가지 오류가있는 파일이 있는데 mutool은 이러한 오류를 유지합니다.
pdf 파일이 손상되었습니다. 다운로드에 사용 된 PHP 파일이 HTML의 일부 오류와 끝에 NUL 문자를 표시했기 때문입니다.
해결책은 메모장 + +로 pdf를 열고 라인 뒤의 모든 텍스트를 제거하는 것이 었습니다.
%%EOF
%%EOF
. 나는 처음 이후 모든 것을 삭제했다. %%EOF
16 진수 편집기를 사용합니다. 이제 모든 것이 잘 작동합니다.