awacke1 commited on
Commit
c9abb4a
·
verified ·
1 Parent(s): 9777625

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -7
app.py CHANGED
@@ -15,7 +15,7 @@ from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
15
  from reportlab.lib import colors
16
  from reportlab.pdfbase import pdfmetrics
17
  from reportlab.pdfbase.ttfonts import TTFont
18
- from reportlab.pdfgen import canvas # Ensure this import is present
19
  from datetime import datetime
20
  import pytz
21
  from pypdf import PdfReader, PdfWriter
@@ -346,7 +346,7 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
346
  """Create two PDFs with numbered lists, add links and bookmarks."""
347
  def create_base_pdf(filename):
348
  buffer = io.BytesIO()
349
- c = canvas.Canvas(buffer) # Correct usage of canvas
350
  c.setFont("Helvetica", 12)
351
  for i, word in enumerate(WORDS, 1):
352
  y = 800 - (i * 20)
@@ -376,7 +376,7 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
376
  for page in reader.pages:
377
  writer.add_page(page)
378
  buffer = io.BytesIO()
379
- c = canvas.Canvas(buffer) # Correct usage of canvas
380
  c.setFont("Helvetica", 8)
381
  seven_y = 800 - (7 * 20)
382
  c.drawString(90, seven_y - 5, "link")
@@ -386,14 +386,14 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
386
  text_pdf = PdfReader(buffer)
387
  page = writer.pages[0]
388
  page.merge_page(text_pdf.pages[0])
 
389
  uri_action = DictionaryObject({
390
  NameObject("/S"): NameObject("/URI"),
391
  NameObject("/URI"): TextStringObject(f"file://{os.path.abspath(target)}#page=1")
392
  })
393
- link = Link(
394
- rect=(90, seven_y - 10, 150, seven_y + 10),
395
- **{"/A": uri_action}
396
- )
397
  writer.add_annotation(page_number=0, annotation=link)
398
  with open(source, "wb") as f:
399
  writer.write(f)
 
15
  from reportlab.lib import colors
16
  from reportlab.pdfbase import pdfmetrics
17
  from reportlab.pdfbase.ttfonts import TTFont
18
+ from reportlab.pdfgen import canvas
19
  from datetime import datetime
20
  import pytz
21
  from pypdf import PdfReader, PdfWriter
 
346
  """Create two PDFs with numbered lists, add links and bookmarks."""
347
  def create_base_pdf(filename):
348
  buffer = io.BytesIO()
349
+ c = canvas.Canvas(buffer)
350
  c.setFont("Helvetica", 12)
351
  for i, word in enumerate(WORDS, 1):
352
  y = 800 - (i * 20)
 
376
  for page in reader.pages:
377
  writer.add_page(page)
378
  buffer = io.BytesIO()
379
+ c = canvas.Canvas(buffer)
380
  c.setFont("Helvetica", 8)
381
  seven_y = 800 - (7 * 20)
382
  c.drawString(90, seven_y - 5, "link")
 
386
  text_pdf = PdfReader(buffer)
387
  page = writer.pages[0]
388
  page.merge_page(text_pdf.pages[0])
389
+ # Create the URI action
390
  uri_action = DictionaryObject({
391
  NameObject("/S"): NameObject("/URI"),
392
  NameObject("/URI"): TextStringObject(f"file://{os.path.abspath(target)}#page=1")
393
  })
394
+ # Create the link annotation and set the action
395
+ link = Link(rect=(90, seven_y - 10, 150, seven_y + 10))
396
+ link[NameObject("/A")] = uri_action # Set the action after initialization
 
397
  writer.add_annotation(page_number=0, annotation=link)
398
  with open(source, "wb") as f:
399
  writer.write(f)