Ukryty blok tekstu w pliku PDF
W tym samouczku wyjaśnimy, jak utworzyć ukryty blok tekstu w pliku PDF przy użyciu biblioteki Aspose.PDF dla .NET. Ukryty blok tekstu to pływający tekst, który staje się widoczny po najechaniu kursorem myszy na określony obszar. Przejdziemy krok po kroku przez proces tworzenia ukrytego bloku tekstu przy użyciu dostarczonego kodu źródłowego C#.
Wymagania
Zanim zaczniesz, upewnij się, że masz następujące elementy:
- Zainstalowana biblioteka Aspose.PDF dla .NET.
- Podstawowa znajomość programowania w języku C#.
Krok 1: Skonfiguruj katalog dokumentów
Najpierw musisz ustawić ścieżkę do katalogu, w którym chcesz zapisać wygenerowany plik PDF. Zastępować"YOUR DOCUMENT DIRECTORY"
wdataDir
zmienną ze ścieżką do żądanego katalogu.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Krok 2: Utwórz przykładowy dokument
Na tym etapie tworzymy przykładowy dokument PDF i dodajemy do niego fragment tekstu. Fragment tekstu posłuży jako wyzwalacz wyświetlenia ukrytego bloku tekstu.
string outputFile = dataDir + "TextBlock_HideShow_MouseOverOut_out.pdf";
Document doc = new Document();
doc.Pages.Add().Paragraphs.Add(new TextFragment("Move the mouse cursor here to display floating text"));
doc.Save(outputFile);
Krok 3: Otwórz dokument
Teraz otwieramy wcześniej utworzony dokument za pomocąDocument
klasa.
Document document = new Document(outputFile);
Krok 4: Znajdź fragment tekstu
Używamy ATextFragmentAbsorber
obiekt, aby znaleźć fragment tekstu, który spowoduje wyświetlenie ukrytego bloku tekstu. W tym przypadku szukamy dokładnego tekstu „Przesuń kursor myszy tutaj, aby wyświetlić pływający tekst”.
TextFragmentAbsorber absorber = new TextFragmentAbsorber("Move the mouse cursor here to display floating text");
document.Pages.Accept(absorb);
TextFragmentCollection textFragments = absorb.TextFragments;
TextFragment fragment = textFragments[1];
Krok 5: Utwórz ukryte pole tekstowe
TworzymyTextBoxField
obiekt reprezentujący ukryte pole tekstowe. To pole będzie zawierać tekst, który stanie się widoczny po najechaniu kursorem myszy na tekst wyzwalający.
TextBoxField floatingField = new TextBoxField(fragment.Page, new Rectangle(100, 700, 220, 740));
floatingField.Value = "This is the \"floating text field\".";
floatingField. ReadOnly = true;
floatingField.Flags |= AnnotationFlags.Hidden;
floatingField.PartialName = "FloatingField_1";
floatingField.DefaultAppearance = new DefaultAppearance("Helv", 10, System.Drawing.Color.Blue);
floatingField.Characteristics.Background = System.Drawing.Color.LightBlue;
floatingField.Characteristics.Border = System.Drawing.Color.DarkBlue;
floatingField.Border = new Border(floatingField);
floatingField.Border.Width = 1;
floatingField. Multiline = true;
Krok 6: Dodaj ukryte pole tekstowe do dokumentu
Do kolekcji formularzy dokumentu dodajemy ukryte pole tekstowe.
document.Form.Add(floatingField);
Krok 7: Utwórz niewidzialny przycisk
Tworzymy niewidoczne pole przycisku, które zostanie umieszczone na górze fragmentu tekstu wyzwalającego. To pole przycisku będzie zawierało akcje powiązane ze zdarzeniami wejścia i wyjścia myszą.
ButtonField buttonField = new ButtonField(fragment.Page, fragment.Rectangle);
buttonField.Actions.OnEnter = new HideAction(floatingField, false);
buttonField.Actions.OnExit = new HideAction(floatingField);
document.Form.Add(buttonField);
Krok 8: Zapisz dokument
Na koniec zapisujemy zmodyfikowany dokument z ukrytym blokiem tekstu.
document. Save(outputFile);
Przykładowy kod źródłowy dla bloku ukrytego tekstu przy użyciu Aspose.PDF dla .NET
// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
string outputFile = dataDir + "TextBlock_HideShow_MouseOverOut_out.pdf";
// Utwórz przykładowy dokument z tekstem
Document doc = new Document();
doc.Pages.Add().Paragraphs.Add(new TextFragment("Move the mouse cursor here to display floating text"));
doc.Save(outputFile);
// Otwórz dokument z tekstem
Document document = new Document(outputFile);
// Utwórz obiekt TextAbsorber, aby znaleźć wszystkie frazy pasujące do wyrażenia regularnego
TextFragmentAbsorber absorber = new TextFragmentAbsorber("Move the mouse cursor here to display floating text");
// Zaakceptuj pochłaniacz stron dokumentu
document.Pages.Accept(absorber);
// Zdobądź pierwszy wyodrębniony fragment tekstu
TextFragmentCollection textFragments = absorber.TextFragments;
TextFragment fragment = textFragments[1];
// Utwórz ukryte pole tekstowe dla tekstu swobodnego w określonym prostokącie strony
TextBoxField floatingField = new TextBoxField(fragment.Page, new Rectangle(100, 700, 220, 740));
// Ustaw tekst wyświetlany jako wartość pola
floatingField.Value = "This is the \"floating text field\".";
// W tym scenariuszu zalecamy ustawienie pola „tylko do odczytu”.
floatingField.ReadOnly = true;
// Ustaw flagę „ukryta”, aby pole było niewidoczne przy otwieraniu dokumentu
floatingField.Flags |= AnnotationFlags.Hidden;
// Ustawienie unikalnej nazwy pola nie jest konieczne, ale dozwolone
floatingField.PartialName = "FloatingField_1";
// Ustawienie charakterystyki wyglądu pola nie jest konieczne, ale polepsza sytuację
floatingField.DefaultAppearance = new DefaultAppearance("Helv", 10, System.Drawing.Color.Blue);
floatingField.Characteristics.Background = System.Drawing.Color.LightBlue;
floatingField.Characteristics.Border = System.Drawing.Color.DarkBlue;
floatingField.Border = new Border(floatingField);
floatingField.Border.Width = 1;
floatingField.Multiline = true;
// Dodaj pole tekstowe do dokumentu
document.Form.Add(floatingField);
// Utwórz niewidoczny przycisk na pozycji fragmentu tekstu
ButtonField buttonField = new ButtonField(fragment.Page, fragment.Rectangle);
// Utwórz nową akcję ukrywania dla określonego pola (adnotacji) i flagi niewidzialności.
//(Możesz także odwoływać się do pola pływającego według nazwy, jeśli określiłeś ją powyżej.)
// Dodaj akcje po wejściu/wyjściu myszy w niewidocznym polu przycisku
buttonField.Actions.OnEnter = new HideAction(floatingField, false);
buttonField.Actions.OnExit = new HideAction(floatingField);
// Dodaj pole przycisku do dokumentu
document.Form.Add(buttonField);
// Zapisz dokument
document.Save(outputFile);
Wniosek
W tym samouczku nauczyłeś się tworzyć ukryty blok tekstu przy użyciu biblioteki Aspose.PDF dla .NET. Postępując zgodnie z instrukcją krok po kroku, możesz wygenerować dokument PDF z ukrytym polem tekstowym, które staje się widoczne po najechaniu kursorem myszy na określony obszar. Możesz dostosować wygląd i zachowanie ukrytego bloku tekstu zgodnie ze swoimi wymaganiami.
Często zadawane pytania
P: Jaki jest cel samouczka „Ukryty blok tekstu w pliku PDF”?
Odp.: Samouczek „Ukryty blok tekstu w pliku PDF” wyjaśnia, jak utworzyć ukryty blok tekstu w pliku PDF przy użyciu biblioteki Aspose.PDF dla .NET. Ukryty blok tekstu to pływający tekst, który staje się widoczny po najechaniu kursorem myszy na określony obszar. Ten samouczek zawiera przewodnik krok po kroku dotyczący korzystania z kodu źródłowego języka C#.
P: Dlaczego miałbym chcieć utworzyć ukryty blok tekstu w pliku PDF?
O: Utworzenie ukrytego bloku tekstu może być przydatne w przypadku interaktywnych dokumentów PDF, w których chcesz podać dodatkowe informacje lub kontekst, który staje się widoczny dopiero po najechaniu kursorem myszy na wyznaczony obszar.
P: Jak skonfigurować katalog dokumentów?
O: Aby skonfigurować katalog dokumentów:
- Zastępować
"YOUR DOCUMENT DIRECTORY"
wdataDir
zmienną ze ścieżką do katalogu, w którym chcesz zapisać wygenerowany plik PDF.
P: Jak utworzyć przykładowy dokument i dodać do niego fragment tekstu?
Odp.: W samouczku używasz plikuDocument
class, aby utworzyć przykładowy dokument PDF i dodać fragment tekstu. Ten fragment tekstu służy jako wyzwalacz wyświetlenia ukrytego bloku tekstu.
P: Jak znaleźć fragment tekstu, który uruchamia ukryty blok tekstu?
Odp.: W samouczku pokazano, jak używać plikuTextFragmentAbsorber
obiekt, aby znaleźć fragment tekstu, który powoduje wyświetlenie ukrytego bloku tekstu. Wyszukuje określony ciąg tekstowy w dokumencie PDF.
P: Jak utworzyć i dostosować ukryte pole tekstowe?
O: TworzyszTextBoxField
obiekt reprezentujący ukryte pole tekstowe. Samouczek zawiera kod umożliwiający ustawienie różnych właściwości, takich jak pozycja, wartość, wygląd i zachowanie ukrytego pola tekstowego.
P: Jak utworzyć niewidoczny przycisk powiązany z ukrytym blokiem tekstu?
Odp.: Niewidoczne pole przycisku jest tworzone za pomocąButtonField
klasa. To pole przycisku znajduje się na górze fragmentu tekstu wyzwalacza i zawiera akcje powiązane ze zdarzeniami wejścia i wyjścia myszą. Te akcje kontrolują widoczność ukrytego bloku tekstu.
P: Czy mogę dostosować wygląd ukrytego bloku tekstu i obszaru wyzwalacza?
O: Tak, możesz dostosować różne właściwości ukrytego pola tekstowego i niewidocznego przycisku, w tym czcionkę, kolor, rozmiar i położenie.
P: Jak zapisać zmodyfikowany dokument z ukrytym blokiem tekstu?
Odp.: W samouczku pokazano, jak zapisać zmodyfikowany dokument za pomocą plikuSave
metodaDocument
klasa.