목표는 다음을 사용하여 .pdf 파일 세트를 열거하는 것입니다.명령줄 도구. 이상적으로는 무료 오픈 소스 패키지가 Catalina 및 Ubuntu 20.04에서 열거 작업을 수행하는 데 도움이 됩니다.
파일 세트를 가정합니다.
- 파일1.pdf
- 파일2.pdf
- 파일3.pdf
연산:
- 카운터를 100으로 한 번만 초기화하고 절대 100으로 재설정하지 마세요.
- file1.pdf의 첫 번째 페이지부터 시작:
- "myText[counter]"로 오른쪽 하단을 열거(표시)합니다.
- 카운터 증가 및 다음 페이지 표시
- 파일의 마지막 페이지가 열거된 경우 모든 파일의 모든 페이지가 열거될 때까지 다음 파일에 대해 프로세스가 반복됩니다. 다음 파일은 동일한 카운터를 사용하여 계속되며 100으로 재설정되지 않습니다.
귀하의 목표를 달성하는 솔루션/예제는 높이 평가됩니다.
밝히다:
모든 페이지에는 고유한 페이지 번호가 있어야 합니다. 각 문서가 10페이지로 구성된 경우 최종 페이지 번호는 129가 됩니다.
답변1
질문 수정을 위해 업데이트 중...
#!/bin/bash
label="$1" #the label to be added to the footer
from=$2 #the starting number
#for each pdf in this directory
for input in *.pdf; do
#compose an output file name
output=${input%.*}.numbered.pdf
#count the pages
pagenum=$(pdftk "$input" dump_data | grep "NumberOfPages" | cut -d":" -f2)
#calculate the last page no
to=$(($from+$pagenum-1))
(echo -e ".nr FM 0.125i\n.ds CH"; for s in $(seq -f "%05g" $from $to); do
echo -e ".ds RF $label $s \n.bp +1"; done) |
groff -ms -Tpdf |
pdftk "$input" multistamp - output "$output"
#get ready for the next file
from=$((to +1))
done
groff -ms
필수 텍스트가 포함된 오른쪽 바닥글을 제외하고 빈 페이지로 기본 문서를 작성합니다 . 페이지 번호는 0으로 채웁니다..ds RF
$label $s
$s
seq -f "%05g"
groff -ms
매크로는 억제된 머리글을 적용 .ds CH
하고 .nr FM 0.125
바닥글 여백 높이를 줄여 각 "페이지"가 페이지 나누기가 있는 바닥글일 뿐입니다..bp +1
이 텍스트를 파이프하여 PDF를 만든 groff -Tpdf
다음 pdftk
stdin을 입력 파일로 파이프하고 마지막으로 출력 파일에 씁니다.-
multistamped
이게 해킹이라면 groff
실제로 제대로 사용하는 방법을 아시는 분께 사과드립니다... 아직까지 살펴보지도 못했습니다.