밝히다:

밝히다:

목표는 다음을 사용하여 .pdf 파일 세트를 열거하는 것입니다.명령줄 도구. 이상적으로는 무료 오픈 소스 패키지가 Catalina 및 Ubuntu 20.04에서 열거 작업을 수행하는 데 도움이 됩니다.

파일 세트를 가정합니다.

  1. 파일1.pdf
  2. 파일2.pdf
  3. 파일3.pdf

연산:

  1. 카운터를 100으로 한 번만 초기화하고 절대 100으로 재설정하지 마세요.
  2. file1.pdf의 첫 번째 페이지부터 시작:
  3. "myText[counter]"로 오른쪽 하단을 열거(표시)합니다.
  4. 카운터 증가 및 다음 페이지 표시
  5. 파일의 마지막 페이지가 열거된 경우 모든 파일의 모든 페이지가 열거될 때까지 다음 파일에 대해 프로세스가 반복됩니다. 다음 파일은 동일한 카운터를 사용하여 계속되며 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$sseq -f "%05g"

groff -ms매크로는 억제된 머리글을 적용 .ds CH하고 .nr FM 0.125바닥글 여백 높이를 줄여 각 "페이지"가 ​​페이지 나누기가 있는 바닥글일 뿐입니다..bp +1

이 텍스트를 파이프하여 PDF를 만든 groff -Tpdf다음 pdftkstdin을 입력 파일로 파이프하고 마지막으로 출력 파일에 씁니다.-multistamped

이게 해킹이라면 groff실제로 제대로 사용하는 방법을 아시는 분께 사과드립니다... 아직까지 살펴보지도 못했습니다.

관련 정보