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:
|