Вычеркнуть слова

Введение

Вы когда-нибудь сталкивались с необходимостью подчеркнуть определенный текст в PDF-файле, зачеркнув его? Независимо от того, просматриваете ли вы документы, размечаете текст или просто хотите выделить определенные разделы, зачеркивание слов может быть ценным инструментом. В этом руководстве мы рассмотрим, как сделать именно это с помощью Aspose.PDF для .NET. Это всеобъемлющее руководство проведет вас через каждый шаг, гарантируя, что у вас будет вся информация, необходимая для эффективной реализации этой функции в ваших приложениях .NET.

Предпосылки

Прежде чем перейти к коду, вам необходимо выполнить несколько предварительных условий, чтобы следовать этому руководству:

  1. Библиотека Aspose.PDF for .NET: Убедитесь, что у вас установлена библиотека Aspose.PDF for .NET. Вы можетескачать здесь.

  2. .NET Framework: Убедитесь, что на вашем компьютере установлен .NET Framework. Это руководство предназначено для приложений .NET.

  3. Среда разработки: для написания и запуска кода вам понадобится IDE, например Visual Studio.

  4. PDF-документ: Подготовьте образец PDF-файла, с которым вы хотите работать. Это будет документ, в котором мы будем вычеркивать текст.

  5. Базовые знания C#: для понимания и реализации шагов этого руководства необходимо знакомство с программированием на C#.

Импортные пакеты

Прежде чем мы начнем кодировать, нам нужно импортировать необходимые пространства имен в наш проект .NET. Это даст нам доступ к классам и методам, необходимым для манипулирования файлами PDF с помощью Aspose.PDF.

using System;
using System.IO;
using Aspose.Pdf.Annotations;
using Aspose.Pdf;

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

В этом разделе мы разобьем процесс вычеркивания слов в документе PDF на простые, управляемые шаги. Каждый шаг будет сопровождаться подробным объяснением, чтобы вы понимали, как все работает.

Шаг 1: Загрузите PDF-документ

Первый шаг — загрузить PDF-документ, который вы хотите редактировать. Это будет тот документ, в котором вы будете вычеркивать определенные слова или фразы.

// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Откройте PDF-документ
Document document = new Document(dataDir + "input.pdf");
  • dataDir : Эта переменная хранит путь к каталогу вашего документа. Заменить"YOUR DOCUMENT DIRECTORY" с фактическим путем расположения вашего PDF-файла.
  • Document :Document класс представляет собой PDF-документ. Передавая путь к файлу его конструктору, мы открываем PDF-файл для обработки.

Шаг 2: Создайте поглотитель фрагментов текста для поиска определенного текста

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

// Создать экземпляр TextFragment Absorber для поиска определенного фрагмента текста
Aspose.Pdf.Text.TextFragmentAbsorber textFragmentAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Estoque");
  • TextFragmentAbsorberЭтот класс используется для поиска и работы с определенными фрагментами текста в документе PDF. В этом примере мы ищем слово “Estoque”. Замените “Estoque” словом или фразой, которые вы хотите найти в документе.

Шаг 3: Просмотрите страницы PDF-документа

Теперь, когда у нас есть нашиTextFragmentAbsorberнам необходимо пройтись по каждой странице PDF-документа, чтобы найти указанный текст.

// Просмотрите страницы PDF-документа.
for (int i = 1; i <= document.Pages.Count; i++)
{
    // Получить текущую страницу PDF-документа
    Page page = document.Pages[i];
    page.Accept(textFragmentAbsorber);
}
  • for (int i = 1; i <= document.Pages.Count; i++): Этот цикл повторяется для каждой страницы PDF-документа.
  • document.Pages[i]: Извлекает текущую обрабатываемую страницу.
  • page.Accept(textFragmentAbsorber) : Этот метод применяетTextFragmentAbsorber на текущую страницу, поиск указанного текста.

Шаг 4: Соберите и обработайте фрагменты текста

После итерации по страницам мы соберем найденные фрагменты текста и подготовим их для дальнейшей обработки.

// Создать коллекцию усвоенных фрагментов текста
Aspose.Pdf.Text.TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
  • TextFragmentCollectionЭта коллекция хранит все фрагменты текста, которые были найдены в документе. Мы используем эту коллекцию на следующем шаге, чтобы вычеркнуть текст.

Шаг 5: Просмотрите фрагменты текста и вычеркните их.

На этом этапе мы пройдемся по каждому фрагменту текста в нашей коллекции и применим к нему зачеркнутую аннотацию.

// Итерация по коллекции текстовых фрагментов
for (int j = 1; j <= textFragmentCollection.Count; j++)
{
	Aspose.Pdf.Text.TextFragment textFragment = textFragmentCollection[j];

    // Получить прямоугольные размеры объекта TextFragment
    Aspose.Pdf.Rectangle rect = new Aspose.Pdf.Rectangle(
        (float)textFragment.Position.XIndent,
        (float)textFragment.Position.YIndent,
        (float)textFragment.Position.XIndent + (float)textFragment.Rectangle.Width,
        (float)textFragment.Position.YIndent + (float)textFragment.Rectangle.Height);

    // Создать экземпляр аннотации StrikeOut
    StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.Page, rect);

    // Установить свойства зачеркнутой аннотации
    strikeOut.Opacity = .80f;
    strikeOut.Border = new Border(strikeOut);
    strikeOut.Color = Aspose.Pdf.Color.Red;

    // Добавить аннотацию в коллекцию аннотаций страницы текстового фрагмента
    textFragment.Page.Annotations.Add(strikeOut);
}
  • TextFragment textFragment = textFragmentCollection[j]: Эта строка извлекает текущий фрагмент текста.
  • Aspose.Pdf.Rectangle: Мы вычисляем прямоугольные размеры фрагмента текста, чтобы определить, где следует применить зачеркивание.
  • StrikeOutAnnotation: Этот класс представляет собой зачеркнутую аннотацию. Мы создаем ее экземпляр с вычисленным прямоугольником и текущей страницей.
  • strikeOut.Opacity: Это свойство устанавливает непрозрачность зачеркивания, делая его видимым на 80%.
  • strikeOut.ColorМы устанавливаем цвет зачеркивания на красный. Вы можете изменить его на любой другой цвет по вашему желанию.
  • textFragment.Page.Annotations.Add(strikeOut): Это добавляет зачеркнутую аннотацию на страницу.

Шаг 6: Сохраните измененный PDF-документ.

Последний шаг — сохранение измененного PDF-документа с примененными зачеркиваниями.

// Сохраните обновленный PDF-документ.
dataDir = dataDir + "StrikeOutWords_out.pdf";
document.Save(dataDir);
  • dataDir + "StrikeOutWords_out.pdf": Это создает новое имя файла для измененного документа. Исходный файл остается неизменным.
  • document.Save(dataDir): Сохраняет PDF-документ с зачеркнутыми строками в указанном месте.

Заключение

Поздравляем! Вы успешно вычеркнули определенные слова в документе PDF с помощью Aspose.PDF для .NET. Следуя этому пошаговому руководству, вы теперь можете настраивать документы PDF, выделяя или вычеркивая текст, делая их более динамичными и подходящими для ваших нужд. Независимо от того, аннотируете ли вы юридические документы, готовите отчеты или просто размечаете текст для рецензирования, это руководство снабдило вас навыками, которые позволят вам делать это эффективно.

Часто задаваемые вопросы

Могу ли я изменить цвет зачеркивания?

Да, вы можете изменить цвет, изменивstrikeOut.Colorсвойство. Например, вы можете установить его наAspose.Pdf.Color.Blue для синего страйкаута.

Можно ли вычеркнуть несколько слов одновременно?

Конечно!TextFragmentAbsorber можно использовать для поиска любого слова или фразы в документе. Вы можете применить зачеркивание к нескольким экземплярам, перебираяTextFragmentCollection.

Что делать, если я хочу зачеркнуть текст только на определенных страницах?

Вы можете изменить цикл, который проходит по страницам, чтобы включить только те страницы, которые вы хотите изменить. Например,for (int i = 1; i <= 3; i++) применит зачеркивание только к первым трем страницам.

Как настроить толщину линии зачеркивания?

Вы можете отрегулировать толщину линии зачеркивания, изменивBorder собственностьStrikeOutAnnotation. Это позволяет настраивать внешний вид зачеркнутого текста.

Есть ли способ отменить зачеркивание после сохранения документа?

После сохранения документа зачеркивание становится постоянным. Если вам нужно сохранить исходный текст без зачеркивания, рассмотрите возможность сохранения резервной копии исходного документа перед применением каких-либо изменений.