Wykreśl słowa
Wstęp
Czy kiedykolwiek zdarzyło Ci się, że musiałeś podkreślić konkretny tekst w pliku PDF, przekreślając go? Niezależnie od tego, czy przeglądasz dokumenty, zaznaczasz tekst, czy po prostu musisz wyróżnić określone sekcje, przekreślanie słów może być cennym narzędziem. W tym samouczku pokażemy, jak to zrobić, używając Aspose.PDF dla .NET. Ten kompleksowy przewodnik przeprowadzi Cię przez każdy krok, zapewniając, że masz wszystkie informacje potrzebne do skutecznego wdrożenia tej funkcji w aplikacjach .NET.
Wymagania wstępne
Zanim przejdziemy do kodu, musisz spełnić kilka warunków wstępnych, aby móc korzystać z tego samouczka:
Aspose.PDF dla biblioteki .NET: Upewnij się, że masz zainstalowaną bibliotekę Aspose.PDF dla .NET. Możeszpobierz tutaj.
.NET Framework: Upewnij się, że masz zainstalowany .NET Framework na swoim komputerze. Ten samouczek jest przeznaczony dla aplikacji .NET.
Środowisko programistyczne: Będziesz potrzebować środowiska IDE, takiego jak Visual Studio, aby pisać i uruchamiać kod.
Dokument PDF: Przygotuj przykładowy plik PDF, z którym chcesz pracować. To będzie dokument, w którym wykreślimy tekst.
Podstawowa wiedza o języku C#: Znajomość programowania w języku C# jest konieczna, aby zrozumieć i wdrożyć kroki zawarte w tym samouczku.
Importuj pakiety
Zanim zaczniemy kodować, musimy zaimportować niezbędne przestrzenie nazw do naszego projektu .NET. Da nam to dostęp do klas i metod wymaganych do manipulowania plikami PDF za pomocą Aspose.PDF.
using System;
using System.IO;
using Aspose.Pdf.Annotations;
using Aspose.Pdf;
Te przestrzenie nazw są niezbędne do pracy z dokumentami PDF, obsługi tekstu i dodawania adnotacji, np. przekreśleń.
tej sekcji rozbijemy proces wykreślania słów w dokumencie PDF na proste, łatwe do opanowania kroki. Każdy krok będzie opatrzony szczegółowym wyjaśnieniem, aby upewnić się, że rozumiesz, jak wszystko działa.
Krok 1: Załaduj dokument PDF
Pierwszym krokiem jest załadowanie dokumentu PDF, który chcesz edytować. To będzie ten dokument, w którym będziesz skreślać określone słowa lub frazy.
// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Otwórz dokument PDF
Document document = new Document(dataDir + "input.pdf");
dataDir
: Ta zmienna przechowuje ścieżkę do katalogu dokumentów. Zastąp"YOUR DOCUMENT DIRECTORY"
z rzeczywistą ścieżką, gdzie znajduje się Twój plik PDF.Document
:TenDocument
Klasa reprezentuje dokument PDF. Przekazując ścieżkę pliku do jego konstruktora, otwieramy plik PDF do przetworzenia.
Krok 2: Utwórz absorber fragmentów tekstu, aby znaleźć konkretny tekst
Następnie utworzymy instancjęTextFragmentAbsorber
aby wyszukać konkretny fragment tekstu w dokumencie PDF. Pozwala nam to zlokalizować tekst, który chcemy wykreślić.
// Utwórz instancję TextFragment Absorber, aby wyszukać określony fragment tekstu
Aspose.Pdf.Text.TextFragmentAbsorber textFragmentAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Estoque");
TextFragmentAbsorber
Ta klasa służy do wyszukiwania i pracy z określonymi fragmentami tekstu w dokumencie PDF. W tym przykładzie szukamy słowa „Estoque”. Zastąp „Estoque” słowem lub frazą, którą chcesz znaleźć w dokumencie.
Krok 3: Przejrzyj strony dokumentu PDF
Teraz, gdy mamy naszeTextFragmentAbsorber
, musimy przejść przez każdą stronę dokumentu PDF, aby znaleźć określony tekst.
// Przejrzyj strony dokumentu PDF
for (int i = 1; i <= document.Pages.Count; i++)
{
// Pobierz bieżącą stronę dokumentu PDF
Page page = document.Pages[i];
page.Accept(textFragmentAbsorber);
}
for (int i = 1; i <= document.Pages.Count; i++)
:Pętla ta iteruje po każdej stronie dokumentu PDF.document.Pages[i]
:Pobiera aktualnie przetwarzaną stronę.page.Accept(textFragmentAbsorber)
:Ta metoda stosujeTextFragmentAbsorber
do bieżącej strony, wyszukując określony tekst.
Krok 4: Zbierz i przetwórz fragmenty tekstu
Po przejrzeniu wszystkich stron zbierzemy znalezione fragmenty tekstu i przygotujemy je do dalszego przetwarzania.
// Utwórz zbiór wchłoniętych fragmentów tekstu
Aspose.Pdf.Text.TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
TextFragmentCollection
Ta kolekcja przechowuje wszystkie fragmenty tekstu, które zostały znalezione w dokumencie. Użyjemy tej kolekcji w następnym kroku, aby wykreślić tekst.
Krok 5: Przejrzyj fragmenty tekstu i je wykreśl
W tym kroku przeanalizujemy każdy fragment tekstu w naszej kolekcji i dodamy do niego adnotację przekreślenia.
// Przejrzyj zbiór fragmentów tekstu
for (int j = 1; j <= textFragmentCollection.Count; j++)
{
Aspose.Pdf.Text.TextFragment textFragment = textFragmentCollection[j];
// Pobierz prostokątne wymiary obiektu 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);
// Utwórz wystąpienie adnotacji StrikeOut
StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.Page, rect);
// Ustaw właściwości adnotacji przekreślenia
strikeOut.Opacity = .80f;
strikeOut.Border = new Border(strikeOut);
strikeOut.Color = Aspose.Pdf.Color.Red;
// Dodaj adnotację do kolekcji adnotacji strony fragmentu tekstu
textFragment.Page.Annotations.Add(strikeOut);
}
TextFragment textFragment = textFragmentCollection[j]
: Ten wiersz pobiera aktualny fragment tekstu.Aspose.Pdf.Rectangle
:Obliczamy prostokątne wymiary fragmentu tekstu, aby określić, gdzie należy zastosować przekreślenie.StrikeOutAnnotation
: Ta klasa reprezentuje adnotację przekreślenia. Tworzymy ją z obliczonym prostokątem i bieżącą stroną.strikeOut.Opacity
:Ta właściwość ustawia krycie przekreślenia, czyniąc je widocznym w 80%.strikeOut.Color
Ustawiamy kolor przekreślenia na czerwony. Możesz zmienić go na dowolny kolor, który wolisz.textFragment.Page.Annotations.Add(strikeOut)
:Dodaje adnotację o przekreśleniu do strony.
Krok 6: Zapisz zmodyfikowany dokument PDF
Ostatnim krokiem jest zapisanie zmodyfikowanego dokumentu PDF z zastosowanymi przekreśleniami.
// Zapisz zaktualizowany dokument PDF
dataDir = dataDir + "StrikeOutWords_out.pdf";
document.Save(dataDir);
dataDir + "StrikeOutWords_out.pdf"
: Tworzy nową nazwę pliku dla zmodyfikowanego dokumentu. Oryginalny plik pozostaje niezmieniony.document.Save(dataDir)
: Zapisuje dokument PDF z przekreśleniami w określonej lokalizacji.
Wniosek
Gratulacje! Udało Ci się wykreślić określone słowa w dokumencie PDF za pomocą Aspose.PDF dla .NET. Postępując zgodnie z tym przewodnikiem krok po kroku, możesz teraz dostosowywać dokumenty PDF, podświetlając lub wykreślając tekst, dzięki czemu będą bardziej dynamiczne i dostosowane do Twoich potrzeb. Niezależnie od tego, czy adnotujesz dokumenty prawne, przygotowujesz raporty, czy po prostu zaznaczasz tekst do przeglądu, ten samouczek wyposażył Cię w umiejętności, aby robić to wydajnie.
Najczęściej zadawane pytania
Czy mogę zmienić kolor przekreślenia?
Tak, możesz zmienić kolor, modyfikującstrikeOut.Color
właściwość. Na przykład możesz ustawić ją naAspose.Pdf.Color.Blue
za niebieskie wykreślenie.
Czy można skreślić kilka słów na raz?
Absolutnie!TextFragmentAbsorber
można użyć do wyszukiwania dowolnego słowa lub frazy w dokumencie. Możesz zastosować przekreślenie do wielu wystąpień, iterując przezTextFragmentCollection
.
Co zrobić, jeśli chcę wykreślić tekst tylko na określonych stronach?
Możesz zmodyfikować pętlę, która iteruje przez strony, aby obejmowała tylko te strony, które chcesz zmodyfikować. Na przykład:for (int i = 1; i <= 3; i++)
zastosuje przekreślenie tylko do pierwszych trzech stron.
Jak mogę dostosować grubość linii przekreślenia?
Możesz dostosować grubość linii przekreślenia, modyfikującBorder
własnośćStrikeOutAnnotation
. Pozwala to na dostosowanie wyglądu przekreślenia.
Czy istnieje sposób na cofnięcie przekreślenia po zapisaniu dokumentu?
Po zapisaniu dokumentu przekreślenie jest trwałe. Jeśli chcesz zachować oryginalny tekst bez przekreślenia, rozważ zapisanie kopii zapasowej oryginalnego dokumentu przed zastosowaniem jakichkolwiek modyfikacji.