

右下にページ番号のある既存PDFにリンクをはる作業をPythonで実装しようとしています。  
複数ページあるPDFの右下のページ番号をクリックすると1ページ目にジャンプするようにしたいのですが、移動した後、PDFのサイズが変わらないように維持したいと考えています。

下記のコードで、リンクをはることはできたのですが、ジャンプ後に、PDFのサイズが最適化されてしまいます。引数のfitの中で、"/XYZ"を選択してzoomArgsを調整すればPDFサイズが変わらないようにできると思うのですが、引数の設定の仕方が分かりません。ご存知の方いらっしゃれば教えていただけませんでしょうか？私が書いたのは下記のコードです。

[code]

    from PyPDF2 import PdfFileWriter, PdfFileReader
    import io
    from reportlab.pdfgen import canvas
    from reportlab.lib.pagesizes import letter
    
    
    existing_pdf = PdfFileReader(open(r"C:\test.pdf", "rb"))
    output = PdfFileWriter()
    
    pageNum = existing_pdf.getNumPages()
    
    
    for i in range(pageNum):
        if i == 0:
            packet = io.BytesIO()
    
            can = canvas.Canvas(packet, pagesize=letter)
            can.drawString(523, 45, "")
            can.save()
    
            packet.seek(0)
            new_pdf = PdfFileReader(packet)
    
            # add the "watermark" (which is the new pdf) on the existing page
            page = existing_pdf.getPage(i)
            new_pdf = PdfFileReader(packet)
            page2 = new_pdf.getPage(0)
            page.mergePage(page2)
            output.addPage(page)
        else:
            packet = io.BytesIO()
    
            can = canvas.Canvas(packet, pagesize=letter)
            can.drawString(523, 45, "{}".format(i+1))
            can.save()
    
            packet.seek(0)
            new_pdf = PdfFileReader(packet)
    
            # add the "watermark" (which is the new pdf) on the existing page
            page = existing_pdf.getPage(i)
            new_pdf = PdfFileReader(packet)
            page2 = new_pdf.getPage(0)
            page.mergePage(page2)
            output.addPage(page)
            output.addLink(pagenum=i,pagedest=0,rect=[500,30,550,60],border = [0,0,0],fit="/XYZ")
    # finally, write "output" to a real file
    
    outputStream = open(r"C:\test_new.pdf", "wb")
    output.write(outputStream)
    outputStream.close()
    
[/code]

よろしくお願いします。


CC BY-SA 4.0
2019-08-10T15:13:47.590
57288
2019-08-11T12:41:02.277
2019-08-10T15:23:16.927
19110
35421
question
python python3
PyPDF2を使ってPDF内にリンクをはる方法について


以下のようにすればうまくいきました。

[code]

    output.addLink(i, 0, [500,30,550,60], [0,0,0],"/XYZ", 0, 0,1)
    
[/code]

以下のリンクを参照ください。

<https://stackoverflow.com/questions/57448075/how-to-write-the-argument-of-
fit-in-addlink-pypdf2>


CC BY-SA 4.0
2019-08-11T11:43:42.733
57302
2019-08-11T12:41:02.277
2019-08-11T12:41:02.277
3060
35421
57288
answer