Синтаксис pdf-редактора для замены URL - PullRequest
0 голосов
/ 23 февраля 2019

Использование https://github.com/JoshData/pdf-redactor, если я предоставляю PDF с несколькими URL-ссылками и использую пример кода:

options.link_filters = [
    lambda href, annotation : "https://www.google.com" 
]

, эффект заключается в изменении каждого отдельного URL в PDF на https://www.google.com

Как заставить его заменить, например, https://www.example.com на https://www.google.com и оставить другие URL-адреса нетронутыми?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 23 февраля 2019

На самом деле вы можете многое сделать с этим lambda в этой библиотеке.В данном конкретном случае, который вы нам дали, все, что вы вставите в эту функцию, будет иметь https://www.google.com как и вывод.

Но если вы хотите сделать что-то отличное от этого, вы можете использовать либоURL (href) или annotation (или оба!) В качестве параметров для изменения URL-адресов в документе.Я представлю вам, как вы можете изменить несколько URL-адресов одновременно:

options.link_filters = [lambda href, annotation: 
'www.google.com' if href == 'www.example.com' else 
'www.anything.com' if href == 'www.whatever.com' else 
'www.nevermind.com' if href  == 'www.bye.com' else href]

Здесь, если вы можете заменить все вхождения www.example.com на www.google.com , www.whwhat.com для www.anything.com , www.bye.com для www.nevermind.com и оставьте все остальные URL.Вы даже можете передать эти URL-адреса как переменные, если вам когда-нибудь понадобится сделать что-то более динамичным.

Если вы хотите удалить все остальные URL-адреса, не относящиеся к этим трем (например, что угодно и пока.com), вы можете просто заменить href на None в конце кода выше.

Ну, я думаю, что мы оба согласны, что парень pdf_redactor должен потратить немного больше времени на работудокументация.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...