나는 여러 페이지로 구성된 PDF 파일을 A라고 부르겠습니다. 그런 다음 단일 페이지로 구성된 두 번째 PDF 파일을 B라고 부르겠습니다.
내 목표는 다음 패턴을 사용하여 출력 파일을 O라고 부르도록 하는 것입니다.
O[1] = A[1]
O[2] = B[1]
O[3] = A[2]
O[4] = B[1]
O[5] = A[3]
O[6] = B[1]
O[7] = A[4]
O[8] = B[1]
...
즉, 페이지 A와 페이지 B를 인터리브하고 싶습니다. 맥락을 제공하기 위해 파일 A에는 제가 수강한 강좌의 슬라이드가 포함되어 있고, 파일 B는 한 페이지만 수평선으로 채워져 있습니다.
결과 출력 파일을 사용하면 슬라이드 오른쪽에 메모를 배치할 수 있습니다(각각 두 페이지를 인쇄하므로).
LibreOffice에서 각 페이지를 가져올 수 있지만 다른 파일을 쉽게 실행할 수 있는 스크립트(아마도 pdftk?)를 찾고 있습니다.
답변1
이것은 페이지 구성에 관한 것이며 여기서 B는 다음과 같이 사용됩니다.이상한/직장그리고 A는심지어/반대쪽(OP의 정확한 요구 사항에 따라) 사용 가능한 B 페이지가 충분하지 않은 경우: 첫 번째 작업에서 충분한 횟수만큼 복사해야 합니다.
페이지 A(그래서반대쪽)가 페이지 B의 왼쪽에 표시되면 가드가 있어야 합니다.직장첫 번째 페이지: 예를 들어 추가 페이지 B입니다.
A의 페이지 수를 셉니다. 10페이지가 있다고 가정해 보겠습니다.
이는 총 10+1 = 11(또는 아래 표시된 대로 0~10)을 의미하며 추가 B 페이지가 필요합니다. 이 계산을 자동화하는 방법이 있는 경우 아래 루프의 상한 값으로 사용해야 합니다. 나는 그런 방법을 모른다.
쉘 루프에서는
pdftk
첫 번째 명령에서 복사하여 공급하기 에 충분한 B 페이지(B의 유일한 페이지 B1)를 생성합니다.표준 출력두 번째pdftk
명령에 사용됩니다표준 입력파트 B의 경우 A를 따라 구성합니다.pdftk B=B.pdf cat $(for page in $(seq 0 10); do echo B1; done) output - | pdftk A=A.pdf B=- shuffle B A output O.pdf
또는 더 읽기 쉬운 형식의 동일한 분할:
pdftk B=B.pdf \ cat $(for page in $(seq 0 10); do echo B1; done) \ output - | \ pdftk A=A.pdf \ B=- \ shuffle B A \ output O.pdf
참고: 명확하지 않은 경우 셸 루프가 풀리면 다음과 같이 해결됩니다.
pdftk B=B.pdf cat B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 B1 output - | pdftk A=A.pdf B=- shuffle B A output O.pdf
A와 B 사이에서 페이지 순서가 바뀌면(인쇄가 B 페이지 대신 A 페이지에서 시작됨) B에서 한 페이지가 덜 생성될 수 있으며(마지막 B 페이지는 필요하지 않을 수 있음) 마지막 페이지 명령 shuffle B A
으로 변경됩니다.shuffle A B
여기자바 (재)구현pdftk
최근 릴리스에 포함된 항목을 사용했습니다.