[PDF] ÆÄÀÏÀ» ÆíÁýÇϰųª ¼öÁ¤ÇÏ´Â °ÍÀº º¸Åë AdobeAcrobatÀ» ÀÌ¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ±×·¯³ª ÀÌ ÇÁ·Î±×·¥Àº Àú·ÅÇÏÁö ¾ÊÀº »ó¾÷¿ë ÇÁ·Î±×·¥ÀÌ´Ù. AdobeAcrobatÀ» ÀÌ¿ëÇÏÁö ¾Ê°í PDF ÆÄÀÏÀ» ÆíÁýÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ÆÁÀ» ¸ð¾Æº»´Ù. [[TableOfContents]] == [PDF] ÆÄÀÏ º¯È¯ == === n-up === PDF ÆÄÀÏÀ» ÇÑ ÆäÀÌÁö¿¡ ¸î Âʾ¿ µé¾î°¡°Ô ÀμâÇÏ´Â °Í. PDFPages ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ´Ù. KTUGOperate:4615 µÎ ÂÊÀ» ¸¶ÁÖº¸°Ô °¢ ÆäÀÌÁö¸¦ Ãà¼ÒÇؼ­ ¹è¿­ÇÏ´Â °æ¿ì, Áï 1x2 upÀÇ °æ¿ì¸¦ ¿¹·Î µé¾îµÐ´Ù. ¿ø·¡ÀÇ PDF ÆÄÀÏÀÌ `testin.pdf`¶ó°í ÇÒ ¶§, ´ÙÀ½°ú °°Àº `testout.tex`À» ÀÛ¼ºÇÑ´Ù. {{{#!vim tex \documentclass[a4paper]{article} \usepackage{pdfpages} \begin{document} \includepdf[pages=-,nup=1x2,landscape,frame=false]{testin.pdf} \end{document} }}} ÀÌ ÆÄÀÏÀ» PDFLaTeXÀ¸·Î ½ÇÇàÇÑ´Ù. {{{ #> pdflatex testout }}} ÀÌ ¹æ¹ýÀº `pdfpages.sty`°¡ Á¦°øÇÏ´Â `\includepdf` ¸í·ÉÀ» ÀÌ¿ëÇϴµ¥, »ç¿ë·Ê¸¦ ¸î °¡Áö º¸ÀÌ¸é ´ÙÀ½°ú °°´Ù. {{{#!vim \includepdf[nup=1x2,landscape,pages=4-7]{foo.pdf} \includepdf[nup=1x2,landscape,pages=4-7,turn=false]{foo.pdf} \includepdf[nup=2x2,pages=1-4,column]{foo.pdf} }}} ¦¼öÂʺÎÅÍ ½ÃÀÛÇÏ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇÏ¿© óÀ½¿¡ ºó ÂÊÀ» ³ÖÀ¸·Á¸é {{{#!vim \includepdf[nup=2x2,pages={{},5-7}]{foo.pdf} }}} nupµÈ °¢ ÆäÀÌÁö¿¡ ÇÁ·¹ÀÓÀ» ³ÖÀ¸·Á¸é {{{#!vim \includepdf[nup=2x2,pages=1-4,frame]{foo.pdf} }}} °¢ ÆäÀÌÁöÀÇ ÀϺθ¦ trimÇÔÀ¸·Î½á ¿ø·¡ ÆäÀÌÁöÀÇ header³ª footer¸¦ Á¦°ÅÇÏ°í ½Í´Ù¸é {{{#!vim \includepdf[nup=2x2,pages=1-4, trim= 0 40mm 0 40mm, clip]{foo.pdf} }}} nupµÈ ÆäÀÌÁö¿¡ ÆäÀÌÁö ¹øÈ£¸¦ ºÙÀÌ°í ½Í´Ù¸é {{{#!vim \includepdf[nup=2x2,pages=1-4,pagecommand={\thispagestyle{plain}}]{foo.pdf} }}} === Merge === See PDFMerge. === PDF ÆÄÀÏ ÇÑÂʾ¿ ÇÕÄ¡±â === µÎ °³ÀÇ PDF ÆÄÀÏÀ» °¢°¢ ÇÑ ÆäÀÌÁö¾¿ ±³Â÷ÇÏ¿© ÇÕÃļ­ ÇϳªÀÇ PDF ÆÄÀÏÀÌ µÇµµ·Ï ÇÏ´Â ¹æ¹ý from KTUGOperate:4663 (by [Karnes]) ÀÌ ¹æ¹ýÀº µÎ ¹®¼­ÀÇ ÆäÀÌÁö¼ö°¡ °°°í ¸¶Áö¸· ÆäÀÌÁö¸¦ ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇßÀ» ¶§ ÀÔ´Ï´Ù. °¢°¢ÀÇ ¹®¼­¸¦ ÄÄÆÄÀÏÇؼ­ a.pdf¿Í b.pdf¸¦ ¾ò¾ú°í, ÀÌ µÎ PDFÀÇ ÆäÀÌÁö°¡ ¿¹¸¦ µé¾î 10ÆäÀÌÁö¾¿À̶ó°í °¡Á¤ÇÏ°Ú½À´Ï´Ù. ´ÙÀ½°ú °°Àº total.texÀ» ÀÛ¼ºÇÕ´Ï´Ù. {{{#!vim tex \documentclass{article} \usepackage{pdfpages} \makeatletter \def\for#1#2#3{\@ifnextchar[{\@for@{#1}{#2}{#3}}{\@for@{#1}{#2}{#3}[1]}} \long\def\@for@#1#2#3[#4]#5{\setcounter{#1}{#3}\addtocounter{#1}{1}% \edef\for@loopend{\arabic{#1}}% \setcounter{#1}{#2}% \loop \ifnum \expandafter\the\csname c@#1\endcsname < \for@loopend\relax #5\addtocounter{#1}{#4}\repeat} \newcounter{repeatcnt} \makeatother \begin{document} \for{repeatcnt}{1}{10}{% \includepdfmerge{a.pdf,\therepeatcnt,b.pdf,\therepeatcnt} } \end{document} }}} ÀÌÁ¦ pdflatexÀ¸·Î total.texÀ» ÄÄÆÄÀÏÇϸé total.pdf¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÆäÀÌÁö ¼ö¿¡ ½Å°æ¾²½Ã°í, `\includepdfmerge` ¸í·É ¾È¿¡ ¸ðµç ÀÎÀÚ°¡ ÄÞ¸¶·Î ºÐ¸®µÇ¾î ÀÖ´Ù´Â Á¡¿¡ ÁÖÀÇÇÏ½Ã¸é µÉ °ÍÀÔ´Ï´Ù. ÀÌ ¿¹Á¦¿¡¼­´Â for Loop¸¦ ±¸ÇöÇÏ´Â ¿¹µµ º¸¿´½À´Ï´Ù. == PDF Cropping == PS ÆÄÀÏÀº PS2Eps¸¦ ¾²¸é Bounding Box¸¦ Á¶ÀýÇØÁÝ´Ï´Ù. PDF´Â Bounding Box°¡ ¾øÁö¸¸ `/MediaBox` Áö½ÃÀÚ·Î PSÀÇ Bounding Box¿Í µ¿ÀÏÇÑ È¿°ú¸¦ ³À´Ï´Ù. PDF ÆÄÀÏÀÇ Bounding Box¸¦ Á¤È®ÇÏ°Ô ¾Ë°í ½ÍÀ¸¸é `ebb`¸¦ ½ÇÇàÇغ¾´Ï´Ù. ÀÌ `MediaBox`°¡ À߸øµÇ¾î ÀÖÀ» ¶§ À̸¦ ¼öÁ¤Çϰųª, ¿©¹éÀÌ Å« PDFÀÇ ¿©¹éÀ» À߶󳻴 ¹æ¹ýÀÔ´Ï´Ù. === pdfcrop.pl === Heiko Oberdiek ¾¾°¡ ÀÛ¼ºÇÑ Perl ½ºÅ©¸³Æ®ÀÔ´Ï´Ù. CTAN CTAN:support/pdfcrop/ ´ÙÀ½Àº `pdfcrop.pl --help` È­¸éÀÔ´Ï´Ù. {{{ PDFCROP 1.2, 2002/11/04 - Copyright (c) 2002 by Heiko Oberdiek. Syntax: pdfcrop [options] [output file] Function: Margins are calculated and removed for each page in the file. Options: (defaults:) --help print usage --(no)verbose verbose printing (false) --(no)debug debug informations (false) --gscmd _name_ call of ghostscript (gswin32c) --pdftexcmd _name_ call of pdfTeX (pdftex) --margins "left top right bottom" (0 0 0 0) add extra margins, unit is bp. If only one number is given, then it is used for all margins, in the case of two numbers they are also used for right and bottom. --(no)clip clipping support, if margins are set (false) --(no)hires using '%%HiResBoundingBox' (false) instead of '%%BoundingBox' Examples: pdfcrop.pl --margins 10 input.pdf output.pdf pdfcrop.pl --margins '5 10 5 20' --clip input.pdf output.pdf }}} windows¿¡¼­ TeX Live 2010À» »ç¿ëÇÒ °æ¿ì pdfcrop.pl ´ë½Å pdfcrop À̶ó°í ºÎ¸£¸é µË´Ï´Ù. === PDFTeX ÆÄÀÏÀ» ÀÛ¼ºÇÏ´Â ¹æ¹ý === from KTUGOperate:4284 (by ÀÌ°øÈÆ) À§ÀÇ À¯Æ¿¸®Æ¼·Î À¢¸¸ÇÑ PDF´Â ´Ù º¯È¯ÀÌ µÇÁö¸¸, AdobeIllustrator¿¡¼­ ÇÑ±Û Font¸¦ Æ÷ÇÔÇÏ¿© ¸¸µé¾îÁø PDFÀÇ ÀϺΰ¡ Ghostscript¿¡¼­ ÀоîÁöÁö ¾ÊÀ» ¶§°¡ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì, ´ÙÀ½°ú °°Àº `.tex` ÆÄÀÏÀ» ÀÛ¼ºÇÏ¿© PDFTeXÀ» ½ÇÇàÇϸé PDF ÆÄÀÏÀ» ¿øÇÏ´Â Å©±â¸¸Å­ Àß¶ó³¾ ¼ö ÀÖ½À´Ï´Ù. ¿øº» ÆÄÀÏÀÌ `ainput.pdf`ÀÎ °æ¿ì, {{{#!vim tex \def\pdffile{ainput.pdf} % <-- file À̸§ ¼öÁ¤ \def\page #1 [#2 #3 #4 #5]{% \count0=#1\relax \setbox0=\hbox{% \pdfximage page #1{\pdffile}% \pdfrefximage\pdflastximage }% \pdfhorigin=-#2bp\relax \pdfvorigin=#3bp\relax \pdfpagewidth=#4bp\relax \advance\pdfpagewidth by -#2bp\relax \pdfpageheight=#5bp\relax \advance\pdfpageheight by -#3bp\relax \ht0=\pdfpageheight \shipout\box0\relax } \page 1 [40 290 552 552] % <-- °ýÈ£ ¾ÈÀÇ BoundingBox ¼öÁ¤ \end }}} ÀÌ ÆÄÀÏÀ» ¿¹¸¦ µé¸é `aoutput.tex`À¸·Î ÀúÀåÇÏ°í ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÕ´Ï´Ù. {{{ #> pdftex aoutput }}} === ¿¹Á¦ === DVIPDFMx¸¦ ÀÌ¿ëÇÏ¿© ´ÙÀ½°ú °°Àº PDF ÆÄÀÏÀ» ¾ò¾ú½À´Ï´Ù. ( Uploads:pdfcroptestinput.pdf ) {{{ #> perl pdfcrop.pl --clip pdfcroptestinput.pdf pdfcroptestoutput.pdf }}} ±× °á°ú ´ÙÀ½°ú °°Àº PDF ÆÄÀÏÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. Uploads:pdfcroptestoutput.pdf == PDF Select (³¹ÀåÃßÃâ) == === ConTeXtÀÇ texexec¸¦ »ç¿ëÇÏ´Â ¹æ¹ý === ==== ÀϺΠÆäÀÌÁö¸¸ ÃßÃâ ==== cf. KTUGOperate:7332 (by DohyunKim) ÇÑ ÆäÀÌÁö¸¸ ÃßÃâÇÏ·Á¸é `texexec --pdfselect` ¹æ¹ýÀ» ¾´´Ù. `orig.pdf`ÀÇ 1ÆäÀÌÁö¸¸À» `test1.pdf`·Î ¾²·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. {{{ #> texexec --pdfselect --selection=1 --batch --result=test1.pdf orig.pdf }}} µû¶ó¼­, 1ÆäÀÌÁöºÎÅÍ 10ÆäÀÌÁö±îÁö º°µµÀÇ PDF ÆÄÀÏ·Î ¸¸µé·Á¸é, PerlÀ» ÀÌ¿ëÇÏ¿©, {{{ for(1..10) { system("texexec --pdfselect --selection=$_ --batch --result=test$_.pdf orig.pdf"); } }}} ==== ÇÑ ÆäÀÌÁö¸¸ ÃßÃâÇÏ´Â Shell ½ºÅ©¸³Æ® ==== À§ÀÇ `texexec`·Î ÇÑ ÆäÀÌÁö¸¸ ÃßÃâÇÏ´Â °ÍÀ» Shell Script·Î ¸¸µç °Í.(Claus Gerhardt ¾¾) {{{ #!/bin/sh ## # pdfsel.sh # pdfselect # # $1= selected pages either in form of a list x,y,z or in form of range x:y or as odd #resp. even #filenename without suffix pdf, the resulting file is named filename-ext.pdf # Claus Gerhardt ## # EXTENSIONS : "*" # OSTYPES : "****" for file; do location=$(dirname "$file") cd "${location}" && \ texexec --pdfselect --batch --silent --selection="$1" --result="${file}-ext.pdf" "${file}.pdf" \ && rm -f "${file}-ext.tui" && rm -f "${file}-ext.tmp" && rm -f "texexec.tex" \ && rm -f "texexec.tmp" && rm -f "texexec.tui" && rm -f "mprun.mp" rm -f "mpgraph.mp" \ && rm -f "${file}-ext.log" done }}} === PDFPages¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ý === ==== ÀϺΠÆäÀÌÁö ÃßÃâ ==== KTUGOperate:7342 (by ÀÌ°øÈÆ) 1ÆäÀÌÁöºÎÅÍ 10ÆäÀÌÁö±îÁö ÃßÃâÇÏ´Â ¹æ¹ý. {{{ #!/usr/bin/perl for(1..10) { open(OUT,">test$_.tex") or die "Cannot write 'test$_.tex'"; print OUT << "EOF"; \\documentclass[a4paper]{article} \\usepackage{pdfpages} \\begin{document} \\includepdf[pages=$_]{orig.pdf} \\end{document} EOF close OUT; system("pdflatex --interaction batchmode test$_"); unlink "test$_.tex","test$_.log","test$_.aux"; } }}} ==== ÇÑ ÆäÀÌÁö¸¸ ÃßÃâÇÏ´Â Shell Script ==== pdfsel.sh {{{ #!/bin/sh PAGENUM=$1 OUTFILE=$2-ext-$1.tex echo '\documentclass{article}' > $OUTFILE echo '\usepackage{pdfpages}' >> $OUTFILE echo '\begin{document}' >> $OUTFILE echo '\includepdf[pages='$PAGENUM']{'$2'.pdf}' >> $OUTFILE echo '\end{document}' >> $OUTFILE pdflatex --interaction=batchmode $OUTFILE }}} {{{ #> sh pdfsel.sh 13 test }}} (ÀÔ·ÂÆÄÀÏÀÇ È®Àå¸í `.pdf`¸¦ ¾²Áö ¾ÊÀ½. ù¹ø° ÀÎÀÚ´Â ÃßÃâÇÏ·Á´Â ÆäÀÌÁö, µÎ¹ø° ÀÎÀÚ´Â ÀÔ·ÂÆÄÀÏ. °á°ú´Â `test-ext-13.pdf`¿Í °°ÀÌ ¸¸µé¾îÁø´Ù.) µ¿ÀÏÇÑ DOS Batchfile. {{{ @echo off rem pdfsel.bat echo \documentclass{article} > %2-ext-%1.tex echo \usepackage[pdftex]{graphicx} >> %2-ext-%1.tex echo \usepackage{pdfpages} >> %2-ext-%1.tex echo \begin{document} >> %2-ext-%1.tex echo \includepdf[pages=%1]{%2.pdf} >> %2-ext-%1.tex echo \end{document} >> %2-ext-%1.tex pdflatex --interaction=batchmode %2-ext-%1 del %2-ext-%1.aux rem del %2-ext-%1.log del %2-ext-%1.tex }}} (!) À§ÀÇ pdfsel.bat¸¦ ÀÌ¿ëÇÏ¿© Windows [¸í·ÉÇà]¿¡¼­, 1ÆäÀÌÁöºÎÅÍ 10ÆäÀÌÁö±îÁö ÇÑ ÆäÀÌÁö¾¿ °¢°¢ ÇϳªÀÇ PDF·Î ¿øº» `test.pdf`¸¦ ÃßÃâÇÏ´Â ¹æ¹ý. {{{ #> for /L %i IN (1,1,10) DO call pdfsel.bat %i test }}} === pdftk¸¦ »ç¿ëÇÏ´Â ¹æ¹ý === PDFtk´Â http://www.accesspdf.com/pdftk/ ¿¡¼­ ¸¸µç freewareÀε¥ ¿©±â ¼³¸íÇÏ´Â ÆäÀÌÁö ÃßÃ⸻°íµµ PDF Merge, ¾Ïȣȭ µîÀÇ ´Ù¾çÇÑ ±â´ÉµéÀ» Á¦°øÇÑ´Ù. ==== ÀϺΠÆäÀÌÁö¸¸ ÃßÃâ ==== ´ÙÀ½ ¿¹¸¦ ÀÎDz ÆÄÀÏÀÇ 1ÂÊ¿¡¼­ 12ÂʱîÁö ±×¸®°í 14ÂʺÎÅÍ ³¡±îÁö¸¦ ÃßÃâÇÏ´Â °ÍÀÌ´Ù. {{{ pdftk A=in.pdf cat A1-12 A14-end output out.pdf }}} ´ÙÀ½°ú °°Àº ÆÄÀÏ ÃßÃâ/¸ÓÁö(Çѱ¹¸»·Î ¹¹¶ó Çϳª¿ä?)µµ °¡´ÉÇÏ´Ù. {{{ pdftk A=in1.pdf B=in2.pdf cat B1 A1-7even A1-7odd output out1.pdf }}} ==== ¸ðµç ÆäÀÌÁö¸¦ °¢ À徿 ÃßÃâÇÒ·Á¸é ==== ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ »ç¿ëÇÏ¸é µÈ´Ù. {{{ pdftk input.pdf burst }}} ==== ¿©·¯ÀåÀÇ PDF¸¦ Çϳª·Î ¹­À¸·Á¸é ==== ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ »ç¿ëÇÏ¸é µÈ´Ù. in1.pdf, in2.pdf ¸¦ out1.pdf·Î ¸¸µé·Á¸é {{{ pdftk in1.pdf in2.pdf cat output out1.pdf or pdftk A=in1.pdf B=in2.pdf cat A B output out1.pdf }}} ¸ðµç *.pdf¸¦ out1.pdf·Î ¹­À¸·Á¸é {{{ pdftk *.pdf cat output out1.pdf }}} * Ãâó : pdftk --help message == Booklet ¸¸µé±â == PDF BookletÀ̶õ ÇÑ ÂÊ¿¡ µÎ ÆäÀÌÁö¾¿ µé¾î°¡°Ô ÀμâÇÏ¿© ¾ç¸éÀμâÇÑ ÈÄ °¡¿îµ¥¸¦ öÇÏ¸é ¼ÒÃ¥ÀÚ°¡ µÇµµ·Ï ÇÏ´Â °ÍÀÌ´Ù. PDFPages ÆÐÅ°Áö, `\includepdf` ¸í·ÉÀÇ `[signature]` ¿É¼ÇÀ» ÀÌ¿ëÇÑ´Ù. ÁÖÀÇÇÒ Á¡Àº, `signature` °ªÀÌ 4ÀÇ ¹è¼ö°¡ µÇµµ·Ï ÇÏ´Â °ÍÀÌ´Ù. 11ÂÊ Â¥¸® PDF°¡ Çϳª ÀÖ°í, ÀÌ°ÍÀ¸·Î ¼ÒÃ¥ÀÚ¸¦ ¸¸µé·Á´Â °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ. ¿ø ÆÄÀÏ À̸§ÀÌ `doc.pdf`¶ó ÇÏ°í, ´ÙÀ½°ú °°Àº `aout.tex`À» ÀÛ¼ºÇÑ´Ù. {{{#!vim tex %%----------- \documentclass{article} \usepackage[pdftex]{graphicx} \usepackage{pdfpages} \begin{document} \pagestyle{empty} \includepdf[pages=-,signature=12,landscape]{doc.pdf} \end{document} %%------------ }}} ÀÌ ¿øº» ÆÄÀÏ¿¡ ´ëÇÏ¿© PDFLaTeXÀ» ½ÇÇàÇϸé `aout.pdf`°¡ ¸¸µé¾îÁø´Ù. ÀÌ PDF¸¦ ¾ç¸éÀμâÇÏ¿© °¡¿îµ¥¸¦ Á¢¾î¼­ öÇغ¸ÀÚ. `[signature]` ¿É¼ÇÀ» ÁÖ´Â °æ¿ì `[nup]` ¿É¼ÇÀº ¹«ÀǹÌÇÏ´Ù. Ç×»ó `1x2` ¶Ç´Â `2x1`·Î PDF°¡ ¸¸µé¾îÁú °ÍÀÌ´Ù. ÀÌ °úÁ¤À» ÀÚµ¿È­ÇØÁÖ´Â DohyunKim ´ÔÀÇ Perl Script. KTUGBoard:3167 == PDF º»¹® º¹»ç ¹æÁö == KTUGOperate:12845 [[Include(PDFEncryption)]] == PDFJam == [PDFJam] = [PDFPages]ÀÇ ¸í·ÉÇà À¯Æ¿¸®Æ¼ == ±×¹ÛÀÇ À¯Æ¿¸®Æ¼ == TeX°ú ¹«°üÇÏÁö¸¸ PDF¸¦ ´Ù·ç´Â À¯Æ¿¸®Æ¼µéÀº ¸¹´Ù. 1. PDFill 1. PDFTools PDFµéÀ» ÇÕÄ¡´Â(Merge) pdcat, ÆäÀÌÁö¸¦ ÃßÃâÇÏ´Â pdsel, pdsplit, ÅؽºÆ®¸¦ PDF·Î ¹Ù²Ù´Â txt2pdf, ±×¹Û¿¡µµ ºÏ¸¶Å© Ãß°¡, ¸µÅ© Ãß°¡ µîÀ» ÇÒ ¼ö ÀÖ´Â À¯Æ¿¸®Æ¼¸¦ Á¦°øÇÑ´Ù. 1. PDFtk PDF Toolkit. See PDFtk. 1. Multivalent Tools http://multivalent.sf.net 1. [http://bbs.kldp.org/viewtopic.php?p=166518 KLDPBBS Windows¿¡¼­ PostScript ÆÄÀÏ·Î ÇÁ¸°Æ® Çϱâ, PS ÆÄÀÏÀ» PDF·Î] 1. [pyPDF] ---- CategoryFaq