Как заменить содержимое в PDF-документе

Иван Корнев·27.05.2026·4 мин

Заменить один PDF-файл на другой можно тремя способами в зависимости от задачи: полным пересохранением (если нужно обновить весь документ), заменой встроенного вложения (если нужно обновить прикрепленный файл внутри PDF) или точечной заменой страниц (если нужно исправить только часть документа). Выбор метода зависит от того, какую именно часть файла необходимо изменить.

Оглавление

  1. Полная замена файла (пересохранение)
  2. Замена встроенного вложения
  3. Замена отдельных страниц
  4. Частые ошибки при редактировании
  5. FAQ

Полная замена файла (пересохранение)

Этот метод используется, когда у вас есть новая версия документа, и вы хотите заменить старый файл новым, сохранив при этом имя файла или его метаданные (авторство, дату создания).

Способ 1: Через графический редактор (Adobe Acrobat, Foxit)

  1. Откройте новый PDF-файл в редакторе.
  2. Перейдите в ФайлСохранить как (Save As).
  3. Выберите путь к старому файлу и задайте ему то же имя.
  4. Подтвердите замену файла в системе.

Если важно сохранить старые метаданные (например, дату создания оригинала), используйте функцию «Сохранить как другую копию», а затем вручную проверьте свойства документа (Файл → Свойства), скопировав нужные данные из старого файла.

Способ 2: Через командную строку (qpdf)

Для автоматизации процесса на Linux, macOS или Windows (с установленным qpdf) можно использовать утилиту qpdf. Она позволяет заменить содержимое файла без изменения его inode (что важно для некоторых систем ссылок).

qpdf --replace-input исходный.pdf новый.pdf

Эта команда запишет содержимое новый.pdf в файл исходный.pdf, полностью перезаписав его структуру.

Замена встроенного вложения

PDF-документы могут содержать прикрепленные файлы (вложения), например, Excel-таблицы с данными или дополнительные изображения. Заменить такое вложение можно, не меняя основные страницы документа.

Через Adobe Acrobat Pro

  1. Откройте панель Вложения (Attachments) слева или через меню ИнструментыРедактирование PDFВложения.
  2. Найдите файл, который нужно заменить.
  3. Нажмите правой кнопкой мыши на вложение и выберите Заменить вложение (Replace Attachment).
  4. Выберите новый файл с диска.
  5. Сохраните документ (Ctrl+S).

Через Python (библиотека pikepdf)

Если нужно заменить вложение программно, используйте библиотеку pikepdf.

import pikepdf

# Открываем файл с разрешением на запись
with pikepdf.Pdf.open("document.pdf", allow_overwriting_input=True) as pdf:
    # Просмотр списка вложений
    print(pdf.attachments.keys())
    
    # Замена вложения 'data.xlsx' на новый файл
    with open("new_data.xlsx", "rb") as f:
        new_data = f.read()
        
    # Удаляем старое и добавляем новое (или перезаписываем по ключу)
    if "data.xlsx" in pdf.attachments:
        del pdf.attachments["data.xlsx"]
        
    pdf.attachments["data.xlsx"] = {
        "data": new_data,
        "filename": "data.xlsx",
        "mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    }
    
    pdf.save("document.pdf")

Не все PDF-ридеры отображают вложения. Перед отправкой документа убедитесь, что получатель сможет увидеть прикрепленные файлы (проверьте в Adobe Reader или браузере Chrome/Edge).

Замена отдельных страниц

Если нужно обновить только одну страницу (например, исправить ошибку в прайс-листе или заменить устаревший график), не обязательно пересоздавать весь документ.

Способ 1: Вставка и удаление страниц (Acrobat, Foxit, онлайн-сервисы)

  1. Откройте исходный PDF.
  2. Перейдите в инструмент Организация страниц (Organize Pages).
  3. Удалите старую страницу (выделите и нажмите Delete).
  4. Нажмите ВставитьИз файла и выберите PDF-файл с новой версией страницы.
  5. Перетащите новую страницу на нужное место.
  6. Сохраните документ.

Способ 2: Конкатенация через Python (PyPDF2 / pypdf)

Этот метод позволяет собрать новый PDF из частей: страниц до замены, новой страницы и страниц после замены.

from pypdf import PdfReader, PdfWriter

# Загружаем исходный документ и документ с новой страницей
original = PdfReader("original.pdf")
new_page_doc = PdfReader("new_page.pdf")

writer = PdfWriter()

# Добавляем страницы до заменяемой (например, страницы 0-4)
for i in range(5):
    writer.add_page(original.pages[i])

# Добавляем новую страницу (первую из нового файла)
writer.add_page(new_page_doc.pages[0])

# Добавляем оставшиеся страницы исходника (начиная с 6-й, т.к. 5-я заменена)
for i in range(5, len(original.pages)):
    writer.add_page(original.pages.pages[i])

# Сохраняем результат
with open("result.pdf", "wb") as f:
    writer.write(f)

Способ 3: Ghostscript (для продвинутых пользователей)

Можно объединить файлы через командную строку, указав диапазоны страниц.

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=result.pdf \
   -dFirstPage=1 -dLastPage=4 original.pdf \
   new_page.pdf \
   -dFirstPage=6 -dLastPage=10 original.pdf

Частые ошибки при редактировании

ОшибкаПричинаРешение
Съехало форматированиеПри замене страницы использован файл с другими полями или шрифтамиУбедитесь, что новая страница имеет тот же размер (A4, Letter) и margins, что и оригинал
Пропали шрифтыНовый фрагмент не содержит встроенных шрифтовИспользуйте опцию «Embed fonts» при сохранении или экспорте новой страницы
Нерабочие ссылкиВнутренние гиперссылки вели на удаленную страницуПосле замены страниц проверьте навигацию и обновите якорные ссылки
Увеличился размер файлаМногократное пересохранение без оптимизацииИспользуйте функцию «Сохранить как уменьшенный размер» или инструменты оптимизации PDF

FAQ

Можно ли заменить страницу в защищенном паролем PDF? Да, но только если у вас есть пароль владельца (Owner Password), позволяющий редактирование. Если документ зашифрован и права на изменение ограничены, сначала нужно снять защиту (при наличии прав), внести изменения и снова установить пароль.

Что делать, если при замене вложения оно не отображается? Проверьте MIME-тип вложения. Некоторые ридеры игнорируют вложения с неизвестными типами. Также убедитесь, что панель вложений включена в настройках просмотрщика.

Безопасно ли использовать онлайн-сервисы для замены страниц? Для документов с персональными данными или коммерческой тайной — нет. Используйте офлайн-инструменты (Adobe Acrobat, LibreOffice Draw, Python-скрипты). Для публичных документов можно использовать проверенные сервисы вроде ILovePDF или Smallpdf, удаляя файлы с сервера сразу после обработки.

Как сохранить нумерацию страниц при замене? При замене страницы через вставку/удаление нумерация обычно сохраняется автоматически, если не сбрасывать настройки колонтитулов. Если вы используете скрипты, убедитесь, что не добавляете лишние разрывы разделов.