6 페이지 길이의 PDF 파일을 1.pdf, 2.pdf, 3.pdf 등으로 나누고 싶습니다.
놀랍게도 미리보기가 작동하지 않습니다 (내가 뭔가 빠진 경우가 아니면).
커맨드 라인에서이 간단한 작업을 수행 할 수 있기를 원하지만이 시점에서 스케치 소프트웨어를 다운로드하지 않고 작업을 수행하는 모든 작업을 수행합니다.
참고로 http://users.skynet.be/tools/ 는 광고 된대로 작동하지 않습니다.
6 페이지 길이의 PDF 파일을 1.pdf, 2.pdf, 3.pdf 등으로 나누고 싶습니다.
놀랍게도 미리보기가 작동하지 않습니다 (내가 뭔가 빠진 경우가 아니면).
커맨드 라인에서이 간단한 작업을 수행 할 수 있기를 원하지만이 시점에서 스케치 소프트웨어를 다운로드하지 않고 작업을 수행하는 모든 작업을 수행합니다.
참고로 http://users.skynet.be/tools/ 는 광고 된대로 작동하지 않습니다.
답변:
미리보기에서 pdf를 연 다음보기 메뉴에서 축소판을 선택하십시오. Ctrl 원하는 페이지를 선택하여 바탕 화면으로 끌어다 놓습니다.
을 사용하여 달성 할 수 있습니다 pdfseparate
. 으로 homebrew와 함께 poppler를 설치할 수 있습니다 brew install poppler
. 이것도 설치 pdfseparate
됩니다. PDF를 분할하려면 document.pdf
하나의 페이지로로 1.pdf
, 2.pdf
등 사용 :
pdfseparate document.pdf %d.pdf
명령 행 에서이 작업을 수행하려는 경우 Benjamin Han의 splitPDF python 스크립트 를보고 작업을 수행 할 수 있습니다 . 예를 들어 :
splitPDF.py in.pdf 3 5
파일 in.pdf
을 3 개의 파일로 분할하고 3 및 5 페이지에서 분할합니다.
seq
명령에서 다양한 숫자를 쉽게 생성 할 수 있습니다 . 감사!
python splitPDF.py MyPDF.pdf $(seq -s ' ' 1 10 411)
나를 위해 일한
다른 대안은이 답변을 참조하십시오 . ImageMagick 명령 줄 도구를 사용합니다 .
convert x.pdf -quality 100 -density 300x300 x-%04d.pdf
그러나 품질에주의해야합니다.
페이지 범위를 추출하려면 다음과 같이 호출하는 다음 스크립트를 사용할 수 있습니다 (시스템의 PATH 어딘가에 pdfextract.py 파일 (예 : / usr / local / bin)로 저장하고 실행을 가정 한 경우) chmod 744 pdfextract.py를 통한 권한) :
pdfextract.py --file-in / path / to / large / pdf --file-out / path / to / new / pdf --start --stop
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import argparse
import os
import subprocess as sp
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--file-in', required=True, type=str, dest='file_in')
parser.add_argument('--file-out', required=True, type=str, dest='file_out')
parser.add_argument('--start', required=True, type=int, dest='start', default=-1)
parser.add_argument('--stop', required=True, type=int, dest='stop', default=-1)
args = parser.parse_args()
assert os.path.isfile(args.file_in)
assert not os.path.isfile(args.file_out)
# remove temporary files
for el in os.listdir('/tmp'):
if os.path.isfile(os.path.join('/tmp', el)) and el[:12] == 'pdfseparate-':
os.remove(os.path.join('/tmp', el))
sp.check_call('pdfseparate -f {:d} -l {:d} {:s} /tmp/pdfseparate-%d.pdf'.format(args.start, args.stop, args.file_in), shell=True)
cmd_unite = 'pdfunite '
for i in range(args.start, args.stop + 1):
cmd_unite += '/tmp/pdfseparate-{:d}.pdf '.format(i)
cmd_unite += args.file_out
sp.check_call(cmd_unite, shell=True)
# remove temporary files
for el in os.listdir('/tmp'):
if os.path.isfile(os.path.join('/tmp', el)) and el[:12] == 'pdfseparate-':
os.remove(os.path.join('/tmp', el))
if __name__ == "__main__":
main()