PDF 파일 수정


15

기존 PDF 파일을 약간 편집하고 싶습니다. 더 구체적으로:

  • 장 / 책갈피 추가
  • 페이지 번호 매기기 변경

그러나이 기능을 제공하는 도구, GUI 또는 명령 줄을 찾을 수 없습니다. 무료로 열린 대체 도구가 있습니까?

답변:


19

나는 주로 pdftk를 사용합니다. 그러나 고려해야 할 다른 사람들이 있습니다.

pdfsam (PDF Split and Merge) : "pdfsam은 pdf 파일을 처리하도록 설계된 오픈 소스 도구 (GPL 라이센스)입니다"

PDFJam "에 대한 (안드레아스 마티아스에 의해) 우수한 pdfpages PDF 파일 패키지의 많은 기능에 대한 간단한 인터페이스를 제공하는 쉘 스크립트의 작은 수집 pdfLaTeX ." (pdfLaTeX를 직접 사용할 수도 있습니다.)

jPDFTweak : "jPDF Tweak은 PDF 파일을 결합, 분할, 회전, 순서 변경, 워터 마크, 암호화, 서명 및 기타 방법으로 조정할 수있는 Java Swing 응용 프로그램입니다."

Inkscape : PDF 페이지를 기본 SVG 형식으로 가져오고 PDF로 내보낼 수있는 벡터 그래픽 편집기입니다.

Calibre : PDF를 다른 형식으로 변환하고 다른 방식으로 조작 할 수있는 오픈 소스 전자 책 관리 소프트웨어입니다. pdfmanipulate 와 같은 명령 행 도구가 제공되어 유용 할 수 있습니다.

물론 Ghostscript 는 PDF 파일로도 많은 일을 할 수 있습니다.


pdfjam을 사용하지만 명시 적으로 나열된 두 가지 작업을 수행하지 않는 것 같습니다.
Maciej Piechotka

2
나는 그 질문을 오해했다. "챕터"의 의미를 명확히하기 위해 질문을 편집하십시오. PDF의 한 부분을 다른 부분에 삽입하려고한다고 가정했습니다. 그러나 pdf 북마크 (즉, 일부 뷰어의 측면 창에 표시되는)를 의미합니까? PDFJam은 그렇지 않을 수도 있지만 PDFLaTeX 용 pdfpages 패키지는 LaTeX hyperref 패키지와 함께 처리 할 수 ​​있습니다. pdfedit는 페이지 번호를 변경할 수 있어야합니다. pdfLaTeX / pdfpages를 사용하면 페이지 하단을 자르고 새 페이지를 추가 할 수 있습니다. BRISS는 머리글 / 바닥 글도 잘라낼 수 있지만 다른 항목으로 다시 추가해야합니다.
frabjous

아, 그리고 mbPDFasm책갈피로도 할 수 있지만, 절대 사용해 본 적이 없습니다. thierry.schmit.free.fr/spip/spip.php?article15&lang=en
frabjous


12

Linux에서 PDF를 조작하는 두 가지 프로그램을 알고 있습니다.

PDEedit "PDFedit는 무료 오픈 소스 PDF 편집기이며 GNU GPL 버전 2에 따라 릴리스 된 PDF 문서를 조작하기위한 라이브러리입니다. 여기에는 xpdf, GUI, 명령 줄 도구 세트 및 PDF 편집기를 기반으로하는 PDF 조작 라이브러리가 포함됩니다."

pdftk는 PDF는 전자 종이가 "다음 pdftk 전자 주식-제거, 홀 펀치, 바인더, 비밀 - 디코더 - 링, 및 X 레이 안경입니다. Pdftk PDF 문서와 일상의 일을위한 간단한 도구입니다. "


pdfedit : qt3이 없으며 설치할 수 없습니다 (포티지가 아님) .qt4로 컴파일 할 수 없습니다 (qt3support에서도).
Maciej Piechotka

4

페이지 번호를 PDF에 추가하는 유일한 방법은 LaTeX를 사용하는 것입니다.

/usr/local/bin/add-page-numbers.tex 파일을 만듭니다.

\documentclass[8pt]{article}
\usepackage[final]{pdfpages}
\usepackage{fancyhdr}

\topmargin 70pt
\oddsidemargin 150pt

\pagestyle{fancy}
\rfoot{\Large\thepage}
\cfoot{}
\renewcommand {\headrulewidth}{0pt}
\renewcommand {\footrulewidth}{0pt}

\begin{document}
\includepdfset{pagecommand=\thispagestyle{fancy}}
\includepdf[pages=-]{input.pdf}
\end{document}

그리고 / usr / local / bin / pdf-numbers 파일

#!/bin/bash
name="${1%\.pdf}-numbers"
wd="$(pwd)"
dir=/tmp/pdf-numbers
mkdir -p "$dir"
cp "$1" "$dir/input.pdf"
cd "$dir"
pdflatex --jobname "$name" /usr/local/bin/add-page-numbers.tex > /dev/null
mv "$name.pdf" "$wd"
rm -r "$dir"

후자의 파일을 실행 가능하게 만들고

    pdf-numbers example.pdf

example-numbers.pdf라는 pdf 파일을 만들고 이미 존재하는 경우 덮어 씁니다!


잘 작동합니다. 불완전은 절대 경로에 있지만, 내가 관리 할 수없는 것은 아닙니다. 그러나 이러한 숫자를 어떻게 추가하고 숫자의 위치를 ​​어떻게 변경합니까?
kravemir

3

pdfpagesbookmark패키지가 포함 된 LaTeX 는 이러한 작업을 대부분 수행 할 수 있습니다.

이 방법은 새 tex문서 를 만들고 원본 PDF 문서 (또는 그 일부)를 포함 \includepdf하여 작동 합니다 ( pdfpages 매뉴얼 참조 ).

페이지 번호를 변경할 수도 있습니다. 예 :

\pagenumbering{roman}
\setcounter{page}{1}
% include pdf pages that should have roman numbering (the front matter)
\pagenumbering{arabic} % switch to arabic numbering
\setcounter{page}{1} % reset page counter
% include pdf pages that should have arabic numbering (the main matter)

이러한 "논리적"페이지 번호는 대부분의 PDF 리더가 특정 페이지를 탐색하는 데 사용할 수있는 레이블 일뿐입니다. 하위 수준의 상호 작용을 위해 1부터 연속적으로 실행되는 기본 "물리적"페이지 번호도 있습니다 (아래 참조).

올바른 논리 페이지 번호를 사용하여 기존 PDF 페이지를 포함시킨 후 \bookmark명령을 사용하여 PDF 책갈피 ( "개요")를 설정할 수 있습니다 . 기본 구문은

\bookmark[page=<pagenumber>,level=<level>]{<title>}

여기서 <pagenumber>대상 페이지의 페이지 번호입니다. 이는 앞에서 정의한 "논리적"페이지 번호가 아니라 pdf 시작 부분부터 1부터 연속적으로 실행되는 내부 페이지 번호입니다. 중첩 책갈피는을 지정하여 수행됩니다 <level>. 여기서 0최상위 레벨입니다. 는 <title>PDF 파일 리더의 개요에 표시되는 텍스트입니다. 자세한 내용은 북마크 매뉴얼 을 참조하십시오.

tex파일을 컴파일하면 원하는 페이지 번호와 책갈피가 포함 된 새 PDF가 생성됩니다.

이 모든 것이 어떻게 결합되는지에 대한 완전한 예는 https://michaelgoerz.net/notes/pdf-bookmarks-with-latex.html을 참조 하십시오.


오 링크가 죽었다! 나는 아카이브에 그것을 발견 web.archive.org/web/20120616001456/https://michaelgoerz.net/...
Fsmv


2

openoffice 용 pdfimport는 PDF 문서를 편집하고 PDF로 다시 내보내거나 다른 형식으로 저장하는 좋은 대안입니다. 가져온 PDF는 OpenOffice Draw로 편집 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.