Проблема с аннотацией внутренней ссылки PyPDFPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с аннотацией внутренней ссылки PyPDF

Сообщение Anonymous »

Я пытаюсь добавить ссылку на PDF-документ, который сейчас настроен для циклического прохождения и добавления нескольких аннотаций, указывающих на множество разных страниц, но на данный момент мне просто нужно получить аннотацию к wordk, жестко закодированную в 1 файле прежде чем я завершу цикл.

Код: Выделить всё

from pypdf import PdfWriter, PdfReader
from pypdf.annotations import Link as pdf_link
from pypdf.generic import Fit,NumberObject

def add_links_to_pdf(pdf_path,page_link,link_locations):
# Read the PDF
reader = PdfReader(pdf_path)
writer = PdfWriter()

for page_num in range(len(reader.pages)):
page = reader.pages[page_num]

for link in link_locations:
if link[0] == page_num:
# Create the link annotation
link_annotation = pdf_link(
rect=(50, 550, 200, 650),
target_page_index=0,
fit=Fit(fit_type="/FitH", fit_args=(123,)),
)
writer.add_annotation(page_number=0,annotation=link_annotation)
# Add the annotation to the page
# Add the modified page to the writer
writer.add_page(page)

# Write the output to a new file
with open("E:\Work Folder\PDF Bookmark+Combiner\Test2.pdf", "wb") as output_file:
writer.write(output_file)

link_data = [
(0, 100, 750, 50, 700)  # (page_number, x1, width, top, height)
]

#
add_links_to_pdf("E:\Work Folder\PDF Bookmark+Combiner\Test.pdf",2,link_data)
Я попробовал это и использовал отладчик Python, чтобы пройти через это. в настоящее время строка ниже вызывает ошибку.

Код: Выделить всё

writer.add_annotation(page_number=0,annotation=link_annotation)
сообщение об ошибке приведено ниже

Код: Выделить всё

Exception has occurred: IndexError
sequence index out of range
File "E:\Work Folder\PDF Bookmark+Combiner\PDF_functions.py", line 119, in add_links_to_pdf
writer.add_annotation(page_number=0,annotation=link_annotation)
File "E:\Work Folder\PDF Bookmark+Combiner\PDF_functions.py", line 134, in 
add_links_to_pdf("E:\Work Folder\PDF Bookmark+Combiner\Test.pdf",2,link_data)
IndexError: sequence index out of range
Будем очень благодарны за любую помощь, спасибо.

Подробнее здесь: https://stackoverflow.com/questions/790 ... tion-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как извлечь внутренние ссылки с помощью PyPDF
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как получить максимально доступный размер внутренней высоты и внутренней ширины окна?
    Anonymous » » в форуме Javascript
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Разыменование возможно нулевой ссылки при использовании методов расширения с аннотацией
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Pypdf установлен, но все еще показывает, что модуль не найден
    Гость » » в форуме Android
    0 Ответы
    21 Просмотры
    Последнее сообщение Гость
  • PyPDF не дает мне правильного изображения
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»