Update app.py
Browse files
app.py
CHANGED
@@ -20,7 +20,7 @@ from datetime import datetime
|
|
20 |
import pytz
|
21 |
from pypdf import PdfReader, PdfWriter
|
22 |
from pypdf.annotations import Link
|
23 |
-
from pypdf.generic import Fit
|
24 |
|
25 |
st.set_page_config(layout="wide", initial_sidebar_state="collapsed")
|
26 |
|
@@ -386,14 +386,11 @@ 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 |
-
#
|
390 |
-
|
391 |
-
|
392 |
-
|
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)
|
@@ -408,8 +405,8 @@ def create_and_link_pdfs(source_pdf="TestSource.pdf", target_pdf="TestTarget.pdf
|
|
408 |
ten_y = 800 - (10 * 20)
|
409 |
link = Link(
|
410 |
rect=(50, one_y - 10, 100, one_y + 10),
|
411 |
-
|
412 |
-
|
413 |
)
|
414 |
writer.add_annotation(page_number=0, annotation=link)
|
415 |
with open(pdf_file, "wb") as f:
|
|
|
20 |
import pytz
|
21 |
from pypdf import PdfReader, PdfWriter
|
22 |
from pypdf.annotations import Link
|
23 |
+
from pypdf.generic import Fit
|
24 |
|
25 |
st.set_page_config(layout="wide", initial_sidebar_state="collapsed")
|
26 |
|
|
|
386 |
text_pdf = PdfReader(buffer)
|
387 |
page = writer.pages[0]
|
388 |
page.merge_page(text_pdf.pages[0])
|
389 |
+
# Use url parameter for external link
|
390 |
+
link = Link(
|
391 |
+
rect=(90, seven_y - 10, 150, seven_y + 10),
|
392 |
+
url=f"file://{os.path.abspath(target)}#page=1"
|
393 |
+
)
|
|
|
|
|
|
|
394 |
writer.add_annotation(page_number=0, annotation=link)
|
395 |
with open(source, "wb") as f:
|
396 |
writer.write(f)
|
|
|
405 |
ten_y = 800 - (10 * 20)
|
406 |
link = Link(
|
407 |
rect=(50, one_y - 10, 100, one_y + 10),
|
408 |
+
target_page_index=0,
|
409 |
+
fit=Fit(fit_type="/XYZ", fit_args=[50, ten_y, 0])
|
410 |
)
|
411 |
writer.add_annotation(page_number=0, annotation=link)
|
412 |
with open(pdf_file, "wb") as f:
|