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

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +4 -5
app.py CHANGED
@@ -15,6 +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 datetime import datetime
19
  import pytz
20
  from pypdf import PdfReader, PdfWriter
@@ -345,7 +346,7 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
345
  """Create two PDFs with numbered lists, add links and bookmarks."""
346
  def create_base_pdf(filename):
347
  buffer = io.BytesIO()
348
- c = canvas.Canvas(buffer)
349
  c.setFont("Helvetica", 12)
350
  for i, word in enumerate(WORDS, 1):
351
  y = 800 - (i * 20)
@@ -375,7 +376,7 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
375
  for page in reader.pages:
376
  writer.add_page(page)
377
  buffer = io.BytesIO()
378
- c = canvas.Canvas(buffer)
379
  c.setFont("Helvetica", 8)
380
  seven_y = 800 - (7 * 20)
381
  c.drawString(90, seven_y - 5, "link")
@@ -385,15 +386,13 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
385
  text_pdf = PdfReader(buffer)
386
  page = writer.pages[0]
387
  page.merge_page(text_pdf.pages[0])
388
- # Create a URI action dictionary
389
  uri_action = DictionaryObject({
390
  NameObject("/S"): NameObject("/URI"),
391
  NameObject("/URI"): TextStringObject(f"file://{os.path.abspath(target)}#page=1")
392
  })
393
- # Create the link annotation with the URI action
394
  link = Link(
395
  rect=(90, seven_y - 10, 150, seven_y + 10),
396
- **{"/A": uri_action} # Add the action dictionary directly
397
  )
398
  writer.add_annotation(page_number=0, annotation=link)
399
  with open(source, "wb") as 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 # Ensure this import is present
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) # Correct usage of canvas
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) # Correct usage of canvas
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
  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: