Open epdxb opened 1 year ago
When we use PageMerge with canvas, links are not working in output pdf. You can use the attached file and below code to reproduce it. Am I missing some thing here?
link_file.pdf
from pdfrw import PdfReader, PageMerge from pdfrw.buildxobj import pagexobj from reportlab.pdfgen import canvas from pdfrw.toreportlab import makerl from io import BytesIO import io import base64 input_pdf = PdfReader('link_file.pdf') def conevrt_using_canvas(input_pdf): packet = io.BytesIO() can = canvas.Canvas(packet) for page_num, page in enumerate(input_pdf.pages, start=0): page = pagexobj(PageMerge().add(input_pdf.pages[page_num]).render()) width = float(page.BBox[2]) height = float(page.BBox[3]) can.setPageSize((page.BBox[2], page.BBox[3])) can.doForm(makerl(can, page)) can.drawString(70, 750, 'Using Canvas') can.showPage() can.save() rendered_file = base64.b64encode(packet.getvalue()) with open('output_link_file.pdf', 'wb') as f: decodedData = base64.b64decode((rendered_file)) f.write(decodedData) conevrt_using_canvas(input_pdf)
When we use PageMerge with canvas, links are not working in output pdf. You can use the attached file and below code to reproduce it. Am I missing some thing here?
link_file.pdf