나는 가지고있다이 PDF 파일스캔하여 생성되었습니다. PDF 뷰어에서 볼 때 페이지의 너비가 높이보다 넓습니다.
하지만 제가 시도한 모든 PDF 응용 프로그램에서는 너비를 높이로, 높이를 이 PDF 파일의 너비로 실수한 것 같습니다(아래 참조).
왜?
PDF 파일이 손상되었나요?
PDF 응용 프로그램이 너비와 높이를 혼합하지 않도록 PDF 파일을 "수정"하는 방법은 무엇입니까?
다음 명령은 너비가 높이(포인트)보다 작은 것을 보여줍니다.
$ pdfinfo test.pdf Creator: Xerox WorkCentre 7830 Producer: Xerox WorkCentre 7830 CreationDate: Tue Dec 23 00:22:47 2014 Tagged: no Form: none Pages: 1 Encrypted: no Page size: 612 x 1008 pts Page rot: 90 File size: 81820 bytes Optimized: no PDF version: 1.4
다음 명령은 너비가 높이(픽셀 단위)보다 작은 것을 보여줍니다.
$ pdfimages -list test.pdf page num type width height color comp bpc enc interp object ID --------------------------------------------------------------------- 1 0 image 864 1400 rgb 3 8 jpeg no 6 0 1 1 mask 1236 895 - 1 1 jbig2 no 8 0 1 2 mask 737 891 - 1 1 jbig2 no 10 0 1 3 mask 247 381 - 1 1 jbig2 no 11 0 1 4 mask 44 298 - 1 1 jbig2 no 12 0 1 5 mask 429 9 - 1 1 jbig2 no 13 0 1 6 mask 22 258 - 1 1 jbig2 no 14 0 1 7 mask 130 142 - 1 1 jbig2 no 15 0
PDF 파일의 왼쪽 및 오른쪽 여백을 잘라내는 스크립트를 사용하려고 합니다.
pdfcrop.sh
여기gs
이는 및 를 기반으로 하는 것 같습니다pdftk
. 왼쪽과 오른쪽 여백을 각각 116포인트와 20포인트로 측정했습니다.스크립트의 사용법은 다음과 같습니다.
echo " -t \"<left> [<top> [<right> <bottom>]]\"" echo " trims outer page edges by the given amounts. Unit is bp. A single number" echo " is used for all trims, two numbers \"<left> <top>\" are applied to the" echo " right and bottom trims alike."
하지만
pdfcrop.sh -t "116 0 20 0" test.pdf Trim.pdf
이렇게 하면 위쪽이 116포인트, 아래쪽이 20포인트만큼 잘립니다. 반면 아래의 올바른 접근 방식은 왼쪽을 116포인트, 오른쪽을 20포인트만큼 자르는 것입니다.
pdfcrop.sh -t "0 116 0 20" test.pdf Trim.pdf
답변1
0.
다음은 한 페이지짜리 예제 PDF 파일을 기반으로 한 PNG입니다.
1.
PDF 뷰어에서 볼 때 페이지의 너비가 높이보다 넓습니다.
이것이 바로 그 방법입니다.
2.
[...] 제가 시도한 모든 PDF 응용프로그램에서는 너비를 높이로, 높이를 이 PDF 파일의 너비로 실수한 것 같습니다.
말씀하신대로 그냥 그렇네요~인 것 같다그렇죠.
삼.
PDF 파일이 손상되었나요?
아니요, 그렇지 않습니다.
4.
pdfinfo
첫 번째 명령( )이 제공한 메시지를 무시했습니다 .
Page rot: 90
이는 PDF 파일 내의 PDF 소스 코드가 뷰어에게 이를 알려준다는 의미입니다.“넓이보다 키가 정말 커요”- 페이지를 넘기고 디스플레이를 90도 회전합니다.
그러므로,"모든 PDF 뷰어에서 보면 페이지가 높이보다 넓습니다.". 그래야만합니다. 날 봐번호 1이상. 그리고 내2 번이상.
5.
pdfimages
모든 이미지를 추출한 다음 ImageMagick을 사용하여 convert
PNM 또는 PBM 형식의 이미지를 JPEG로 변환할 수 있습니다 .
pdfimages -j test.pdf test-
for i in *.pbm ; do \
convert $i ${i/.pbm/.jpg} ; \
done
그러면 pdfimages -list
질문의 명령에 0~7번 이미지가 포함된 8개의 서로 다른 이미지가 생성됩니다("2.").
여기 이 이미지들이 있습니다. 모두 원래 크기의 25%로 확장되므로 공간이 많이 낭비되지 않습니다. 이들 모두는 에서 추출된 대로 "자연스러운" 방향으로 표시됩니다 pdfimages
. 이것은 0
목록의 첫 번째 항목이며 번호는 다음과 같습니다.
이미지는 "자연스러운" 방향으로 추출되었습니다. 폭에 비해 확실히 키가 더 큽니다.
다음 이미지 쌍은 25% 크기가 조정되었습니다. 위의 mask
출력 목록에 있는 유형의 이미지를 나타냅니다 pdfimages
.
귀하의 스캐너(및 내장 소프트웨어)는 "더 스마트한" 스캐너입니다. 단순히 페이지에서 단일 TIFF를 생성한 다음 PDF 셸에 삽입하는 대신 이미지를 사용하여 다양한 부분을 최적화하려고 합니다.'마스크'(알파 채널 사용 - 내가 만든 JPEG에서는 검은색으로 나타남) 텍스트가 포함된 섹션입니다.
다행히도 스캐너 소프트웨어는 그렇지 않습니다."더"텍스트에 압축을 적용하면 스마트하며 JBIG2 대신 JPEG2000을 사용합니다. 그래서 당신은 악명 높은 위치에 오르지 못했습니다."제록스 스캔 오류".