2010-07-13 4 views
3

요즘에는 데드 트리 버전보다 전자 북을 구입하는 것이 더 실용적입니다. 그러나 PDF에는 인쇄판에서 사용되는 빈 페이지가 자주 포함됩니다. 나는 일반적으로 전자 책 당 10-30 개의 빈 페이지 (또는 "이 페이지는 의도적으로 비워 둔 텍스트"가있는 페이지)를 봅니다. 프로그래밍 방식으로 이러한 빈 페이지를 제거 할 수 있습니까? 현재 수동으로 빈 페이지를 확인한 후 다음을 실행합니다.PDF 파일에서 프로그래밍 방식으로 모든 빈 페이지를 제거하는 방법이 있습니까?

pdftops orig.pdf - | psselect "$range_of_non_blank_pages" | ps2pdf - new.pdf 

따라서 어려운 부분이 빈 페이지를 식별합니다. pdftotext는 페이지가 이미지 만 있고 텍스트가없는 부분을 제외하고는 대부분 작동합니다.

또한 많은 페이지를 제거하고 결과 파일 크기가 더 작아도 원래 파일과 새 버전을 축소 한 후에 (인터넷에있는 다양한 방법을 사용하여) 원본 파일의 크기는 보통 수백 KB 이상. 그래서 내가 빈 페이지를 제거하는 데 사용하는 방법이 최적의 PDF를 생성하지 않는 것으로 보입니다. 나는 또한 다양한 GUI 프로그램을 시험해 보았고 이와 비슷한 결과를 보았다.

답변

1

부분 답변 : 추기경을 거칠 필요가 없습니다 (이것이 아마도 더 큰 파일을 얻는 이유 일 수 있습니다). 하나의 가능성은 당신이 선택하고 페이지를 재 조립을 넘어 수있는 도구를 사용해야 할 것,

 
pdftk orig.pdf cat "$range_of_non_blank_pages" output new.pdf 

빈 페이지를 식별하는 것입니다. 스크립팅 언어 용 라이브러리 (예 : CAM :: PDF 또는 PDF :: API2 in Perl)를 사용해보십시오.

0

빈 페이지를 감지하고 제거 할 수있는 오픈 소스 솔루션에 대해 잘 모릅니다. 그러나 Apago의 상업용 PDF Enhancer는 벡터와 스캔 모두 빈 페이지를 자동으로 제거 할 수 있습니다. 스캔 한 경우 페이지가 비어 있는지 확인하기 전에 검정색 모서리, 홀 펀치 및 노이즈와 같은 스캔 아티팩트를 제거 할 수 있습니다.

관련 문제