Linux에서 초대형 PDF 파일 보기

Linux에서 초대형 PDF 파일 보기

matplotlib를 통해 생성한 18000x18000px PDF 파일이 있습니다. 인쇄하기 전에 최소 20% 확대/축소로 미리 보고 싶습니다. 슬프게도 지금까지 시도한 것은 아무것도 작동하지 않습니다.

  • evince는 최대 1.3% 확대/축소 수준에서만 열립니다. 이는 dconf 편집기를 통해 캐시 크기를 ~500MB로 늘린 후입니다. 추가로 늘리면(최대 8GB까지 시도) 최대 확대/축소가 향상되지 않습니다. 제가 인식하지 못하는 또 다른 병목 현상이 있다고 생각합니다.
  • mupdf가 실패함malloc of array (153904 x 615616 bytes) failed (integer overflow)
  • Inkscape는 내 RAM(16GB)을 모두 차지한 다음 정지됩니다.

대안으로 SVG로 내보내고 Inkscape로 열려고 시도했지만 그것도 RAM을 가득 채우고 멈췄습니다(그러나 더 느리게 진행됩니다).

또한 파일을 보완적인 타일로 나누려고 시도했으며 첫 번째 반복은 다음과 같습니다.

pdfcrop --verbose --margins "10 10 10000 10000" --clip g.pdf out1.pdf

지금까지 몇 시간이 걸렸지만 큰 진전이 없는 것 같습니다. 좋은 점은 RAM을 모두 차지하지 않는다는 것입니다.

Matplotlib에는 PS를 내보낼 수 있는 기능도 있습니다. 하지만 PS의 크기가 커지면 상황이 더욱 악화될 것으로 생각됩니다.

Linux에서 내 파일을 미리 볼 수 있는 방법을 찾는 데 도움을 주실 수 있나요?

파일을 확인하고 싶다면 찾을 수 있습니다.여기.

답변1

의견에 표시된 대로 지금까지 가장 좋은 솔루션은 PDF를 PNG 타일로 자르는 것이었습니다. 고스트 스크립트를 사용하여 이를 수행하는 기본 명령은 다음과 같습니다.

gs -o out.png -sDEVICE=pngalpha -g2000x2000 -dLastPage=1 -c "<</Install {-1000 -10000 translate}>> setpagedevice" -f in.pdf

계속해서 PDF의 이름과 해상도, 타일 크기를 입력으로 사용하고 번호가 매겨진 타일을 출력할 수 있는 스크립트를 작성했습니다. 이는 매우 기본적이며 이미지와 타일이 정사각형이라고 가정합니다. 당신은 그것을 찾을 수 있습니다GitHub에서.

관련 정보