첫 번째 페이지가 비어 있거나 사용할 수 없는 표지인 PDF 파일을 자주 받습니다. 첫 번째 페이지만 삭제하고 파일을 저장할 수 있는 빠르고 효율적인 방법(Applescript, 서비스 또는 ???)을 제안해 주실 수 있나요?
Preview 또는 Adobe Acrobat Professional을 통해 자동화할 수 있다면 가장 이상적입니다.
어떤 아이디어가 있나요?
답변1
다음을 사용하여 이 작업을 수행할 수 있습니다.자동화기작업 흐름. 대부분의 것보다 조금 더 복잡하므로 구현할 때 주의하세요.
이 게시물에는 다음이 포함되어 있습니다.둘Processed PDF File.pdf
버전: 하나는 더 짧고 데스크탑에서 와 같이 출력을 저장하고 , 다른 하나는 더 길며 파일을 다음과 같이 저장합니다.(Edited)
InputFileName.pdf
같은 디렉토리에 있습니다. 더 긴 버전에만 필요한 단계가 표시되어 있습니다.(선택 과목).
열려 있는자동화기새 항목을 만들려면 선택하세요.서비스받는PDF 파일입력으로모든 애플리케이션.
- (선택 과목)을 추가하다변수 값 설정작업을 수행하고 변수 이름을 지정합니다
FilePath
. (선택 과목)을 추가하다AppleScript 실행작업을 수행하고 다음 스크립트 코드를 사용하여 파일이 있는 폴더 이름을 가져옵니다.
on run {input, parameters} tell application "Finder" to return (container of first item of input) as alias end run
(선택 과목)을 추가하다변수 값 설정작업을 수행하고 변수 이름을 지정합니다
Folder
.- (선택 과목)을 추가하다변수 값 얻기작업을 수행하고 변수를 반환합니다
FilePath
. 이 작업의 입력을 무시합니다.옵션. (선택 과목)을 추가하다쉘 스크립트 실행작업 및 입력 전달인수로. 다음 스크립트를 사용하여 파일의 기본 이름을 추출합니다.
echo "$( basename "$1" )"
(선택 과목)을 추가하다변수 값 설정작업을 수행하고 변수 이름을 지정합니다
FileName
.(선택 과목)을 추가하다변수 값 얻기작업을 수행하고 변수 이름을 지정합니다
FilePath
. 이 작업의 입력을 무시합니다.옵션.을 추가하다PDF를 이미지로작업을 수행하여 출력을 데스크톱이나 임시 파일을 보관할 수 있는 폴더에 저장합니다. 원하는 대로 이름을 지정하세요.
- 을 추가하다변수 값 설정작업을 수행하므로 나중에 삭제할 임시 파일을 알 수 있습니다. 변수 이름을
TempFiles
. 을 추가하다AppleScript 실행작업을 수행하고 다음 스크립트 코드를 사용하여 임시 파일 목록을 필터링합니다(여기서 첫 번째 페이지가 제거됩니다).
on run {input, parameters} return rest of input end run
을 추가하다PDF 페이지 결합그 조각들을 다시 합치는 행위,페이지 추가.
- 사용Finder 항목 이동결과 파일(재결합된 PDF)을 데스크탑이나 원하는 폴더로 이동하는 작업입니다. 입력 파일의 상위 폴더를 계산하기로 결정한 경우 변수에 대한 참조를 끌어서 놓는 곳입니다
Folder
. - 그만큼Finder 항목 이름 바꾸기
zOpY3O.pdf
작업을 사용 하면 결합된 PDF 파일에 대해 자동으로 할당된 파일 이름인 eg보다 더 나은 파일 이름을 이러한 파일에 부여할 수 있습니다 . 예를 들어 사용이름 단일 항목기본 이름을Processed PDF File
. 더 긴 변형을 사용하기로 선택한 경우FileName
변수 목록에서 텍스트 필드로 끌어서(Edited)
바로 앞에 추가합니다. 이제 기본적인 작업은 끝났습니다. 정리만 하면 됩니다. - 추가변수 값 얻기조치를 취하고 의 값을 얻습니다
TempFiles
. 이 작업의 입력을 무시합니다.옵션. - 을 추가하다Finder 항목을 휴지통으로 이동임시 단일 페이지 파일을 제거하는 작업입니다.
다음은 완성된 더 긴 버전의 워크플로에 대한 스크린샷입니다.
답변2
앞서 언급한 내용을 사용하여명령줄 PDF 도구, 다음을 수행하는 워크플로를 컴파일할 수 있었습니다.
- 입력 PDF(또는 PDF)를 가져와 첫 페이지를 제외한 새 파일을 생성합니다.
- 원본 PDF를 휴지통으로 이동
- 원본 파일과 일치하도록 새 파일의 이름을 바꿉니다.
먼저 지시에 따라 PDF 도구를 설치했습니다. 이 경우 핵심 도구는 pdfsplit입니다.
Automator에서는 Finder에서 선택한 PDF 파일을 수신하는 새로운 서비스를 만들었습니다.
쉘을 "/bin/bash"로 하고 "입력 전달"을 "인수"로 설정하여 "쉘 스크립트 실행" 작업을 추가했습니다. 그런 다음 다음과 같은 간단한 스크립트를 작성했습니다.
for f in "$@"
do
/usr/local/bin/pdfsplit "$f" 2- > "$f".tmp
done
원본 파일에 대해 "Finder 항목을 휴지통으로 이동" 작업을 추가하고 새 파일에서 .tmp 확장자를 제거하기 위해 "텍스트 바꾸기" 작업을 추가했습니다.
폴더 입력으로 프로세스를 실행하려면 스크립트는 다음과 같습니다.
cd "$@"
for f in *pdf
do
/usr/local/bin/pdfsplit "$f" 2- > "$f".tmp
done
제거 및 이름 바꾸기를 포함하여 쉘 스크립트에서 모든 작업을 수행할 수 있었을 것입니다. 그러나 rm 명령은 위험할 수 있으므로 원본 파일을 휴지통으로 옮기는 것을 선호합니다.
단순히 x개의 페이지를 제거하는 것 이상의 작업을 수행하도록 스크립트를 수정할 수 있습니다. 예를 들어 저는 PDF를 일괄적으로 자르고 결합하는 것과 유사한 프로그램을 개발했습니다. 자세한 내용은 pdfsplit 및 관련 도구 설명서를 확인하세요.
답변3
다른 포럼의 누군가가 개발했습니다.일부명령줄 PDF 도구, 페이지를 삭제하는 것을 포함합니다. 비교적 쉬울 것 같았습니다. 유일한 문제는 작업 흐름에서 작동하는 방식일 수 있습니다. 귀하의 설명에 따르면 PDF가 열려 있는 동안 작동하는 것으로 보이며 이러한 도구는 닫힌 파일에서 더 잘 작동하는 것 같습니다.
답변4
Joseph Yannielli가 제공한 답변에 추가하기 위해 쉘 스크립트를 실행하기로 결정한 사람들의 경우 Automator를 통해 별도의 작업을 추가하는 대신 스크립트에 파일을 삭제하고 이름을 바꾸는 명령을 포함하는 것이 더 쉬울 수 있습니다.
for f in "$@"
do
/usr/local/bin/pdfsplit "$f" 2- > "$f".tmp
rm "$f"
mv "$f".tmp "$f"
done
명령줄 PDF 도구를 설치하는 경우 다음을 사용하여 편리하게 수행할 수 있습니다.홈브류:
brew install pdf-tools