KTUGFaq

KTUG FAQ

·Î±×ÀÎ:
ºñ¹Ð¹øÈ£:
°¡ÀÔ
A gift of flower will soon be made to you.
FrontPage › pyPDF

r1.1°ú ÇöÀç ¹öÀüÀÇ Â÷ÀÌÁ¡

@@ -1,54 +1,45 @@
* [http://pybrary.net/pyPdf/ ȨÆäÀÌÁö]
* PDFÆÄÀÏÀ» ¹ÝÀ¸·Î ÀÚ¸£´Â ¹æ¹ý(without Acrobat)
* ¸ñÀû : [Workshop/2008Spring]¿¡¼­ ÀÌÁÖÈ£´ÔÀÌ Acrobat Professional·Î º¸¿©ÁØ ¹æ¹ýÀ» ÃÖ´ëÇÑ ½±°Ô(?) ÇÁ·Î±×·¥À¸·Î ÇØ°áÇغ»´Ù.
* <!> [[Date(2008-05-26T00:03:13)]] ¹Ì¿Ï¼º ÃÖÁ¾¼Ò½º Áß Hint page5, page6 document1.pdf¹®¼­¸¦ document-output.pdf·Î ¸¸µé¾îÁÝ´Ï´Ù.
* ¸ðµç ÆäÀÌÁö¸¦ ¹ÝÀ¸·Î ÀÚ¸¨´Ï´Ù.
* ùÆäÀÌÁöÀÇ ¿À¸¥ÂÊ ¹Ý Áï 2page°¡ ½ÇÁ¦·Î´Â ¸¶Áö¸· ÆäÀÌÁö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.
* Acrobat ProfessionalÀº Crop Box¸¦ º¯°æÇÏÁö¸¸ ±×³É Media Boxº¯°æÇß½À´Ï´Ù.
* ¼Ò½º
{{{#!vim python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from pyPdf import PdfFileWriter, PdfFileReader

output = PdfFileWriter()
input1 inputleft = PdfFileReader(file("document1.pdf", "rb"))
# print the title of inputright = PdfFileReader(file("document1.pdf
#title = input1.getDocumentInfo().title
#print " title = %s , "rb" % title.encode('cp949')
# add page 1 from input1 to output document, unchanged
output.addPage(input1.getPage(0))
# add page 2 from input1, but rotated clockwise 90 degrees
output.addPage(input1.getPage(1).rotateClockwise(90))

# add page 3 from input1, rotated the other way def LeftHalfPage(p):
output p. addPage mediaBox.upperRight = ( input1
p.mediaBox. getPage getUpperRight_x( 2) / 2,
p. rotateCounterClockwise mediaBox.getUpperRight_y( 90)
)
# alt return p
def RightHalfPage(p): output
p. addPage mediaBox.lowerLeft = ( input1
p.mediaBox. getPage getUpperRight_x( 2) / 2,
p. rotateClockwise mediaBox.getLowerLeft_y( 270)
)
return p

# add page 4 from input1, but first add a watermark from another pdf:
# watermark.pdfÅ©±â°¡ °°¾Æ¾ß ÇÑ´Ù.
# page4 = input1 ########################################################
output. getPage addPage( 3)
#watermark = PdfFileReader LeftHalfPage( file("watermark inputleft. pdf", "rb" getPage(0)))
#page4.mergePage endPage = RightHalfPage( watermark inputright.getPage(0))

# add page 5 from input1 for i in range(1, but crop it to half size:
# 5ÆäÀÌÁöÀÇ ¿ÞÂʹÝÀ» °¡Á®¿Â´Ù inputleft.
page5 = input1.getPage getNumPages( 4) ):
page5 output. mediaBox.upperRight = addPage(
page5 LeftHalfPage(inputleft. mediaBox.getUpperRight_x getPage( i))) / 2,
page5 output. mediaBox addPage(RightHalfPage(inputright. getUpperRight_y getPage( i)
)
output.addPage(page5)

# 6ÆäÀÌÁöÀÇ ¿À¸¥ÂʹÝÀ» °¡Á®¿Â´Ù.
page6 = input1.getPage(5)
page6.mediaBox.lowerLeft = (
page6.mediaBox.getUpperRight_x() / 2,
page6.mediaBox.getLowerLeft_y()
)
output.addPage( page6 endPage)

# print how many pages input1 has:
print "document1.pdf has %s pages." % input1 inputleft.getNumPages()

# finally, write "output" to document-output.pdf
outputStream = file("document-output.pdf", "wb")



  • [http]ȨÆäÀÌÁö
  • PDFÆÄÀÏÀ» ¹ÝÀ¸·Î ÀÚ¸£´Â ¹æ¹ý(without Acrobat)
    • ¸ñÀû : Workshop/2008Spring¿¡¼­ ÀÌÁÖÈ£´ÔÀÌ Acrobat Professional·Î º¸¿©ÁØ ¹æ¹ýÀ» ÃÖ´ëÇÑ ½±°Ô(?) ÇÁ·Î±×·¥À¸·Î ÇØ°áÇغ»´Ù.
    • ÃÖÁ¾¼Ò½º document1.pdf¹®¼­¸¦ document-output.pdf·Î ¸¸µé¾îÁÝ´Ï´Ù.
      • ¸ðµç ÆäÀÌÁö¸¦ ¹ÝÀ¸·Î ÀÚ¸¨´Ï´Ù.
      • ùÆäÀÌÁöÀÇ ¿À¸¥ÂÊ ¹Ý Áï 2page°¡ ½ÇÁ¦·Î´Â ¸¶Áö¸· ÆäÀÌÁö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.
      • Acrobat ProfessionalÀº Crop Box¸¦ º¯°æÇÏÁö¸¸ ±×³É Media Boxº¯°æÇß½À´Ï´Ù.
      • ¼Ò½º
        #!/usr/bin/env python
        from pyPdf import PdfFileWriter, PdfFileReader
        
        output = PdfFileWriter()
        inputleft = PdfFileReader(file("document1.pdf", "rb"))
        inputright = PdfFileReader(file("document1.pdf", "rb"))
        
        def LeftHalfPage(p):
            p.mediaBox.upperRight = (
                p.mediaBox.getUpperRight_x() / 2,
                p.mediaBox.getUpperRight_y()
                )
            return p
        
        def RightHalfPage(p):
            p.mediaBox.lowerLeft = (
                p.mediaBox.getUpperRight_x() / 2,
                p.mediaBox.getLowerLeft_y()
                )
            return p
        
        ###########################################################
        output.addPage(LeftHalfPage(inputleft.getPage(0)))
        endPage = RightHalfPage(inputright.getPage(0))
        
        for i in range(1, inputleft.getNumPages()):
            output.addPage(LeftHalfPage(inputleft.getPage(i)))
            output.addPage(RightHalfPage(inputright.getPage(i)))
        
        output.addPage(endPage)
        
        # print how many pages input1 has:
        print "document1.pdf has %s pages." % inputleft.getNumPages()
        
        # finally, write "output" to document-output.pdf
        outputStream = file("document-output.pdf", "wb")
        output.write(outputStream)
        outputStream.close()
        

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-05-27 08:16:53
Processing time 0.0722 sec