Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.
A menudo se requiere agregar algunos detalles para una frase o palabra específica como un tooltip en el documento PDF para que pueda aparecer cuando el usuario pase el cursor del mouse sobre el texto. Aspose.PDF for .NET proporciona esta función para crear tooltips al agregar un botón invisible sobre el texto buscado. El siguiente fragmento de código te mostrará cómo lograr esta funcionalidad:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddTooltipToSearchedText()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
document.Pages.Add().Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Move the mouse cursor here to display a tooltip"));
document.Pages[1].Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Move the mouse cursor here to display a very long tooltip"));
// Save PDF document
document.Save(dataDir + "Tooltip_out.pdf");
}
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "Tooltip_out.pdf"))
{
// Create TextAbsorber object to find all the phrases matching the regular expression
var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Move the mouse cursor here to display a tooltip");
// Accept the absorber for the document pages
document.Pages.Accept(absorber);
// Get the extracted text fragments
var textFragments = absorber.TextFragments;
// Loop through the fragments
foreach (var fragment in textFragments)
{
// Create invisible button on text fragment position
var field = new Aspose.Pdf.Forms.ButtonField(fragment.Page, fragment.Rectangle);
// AlternateName value will be displayed as tooltip by a viewer application
field.AlternateName = "Tooltip for text.";
// Add button field to the document
document.Form.Add(field);
}
absorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Move the mouse cursor here to display a very long tooltip");
document.Pages.Accept(absorber);
textFragments = absorber.TextFragments;
foreach (var fragment in textFragments)
{
var field = new Aspose.Pdf.Forms.ButtonField(fragment.Page, fragment.Rectangle);
// Set very long text
field.AlternateName = "Lorem ipsum dolor sit amet, consectetur adipiscing elit," +
" sed do eiusmod tempor incididunt ut labore et dolore magna" +
" aliqua. Ut enim ad minim veniam, quis nostrud exercitation" +
" ullamco laboris nisi ut aliquip ex ea commodo consequat." +
" Duis aute irure dolor in reprehenderit in voluptate velit" +
" esse cillum dolore eu fugiat nulla pariatur. Excepteur sint" +
" occaecat cupidatat non proident, sunt in culpa qui officia" +
" deserunt mollit anim id est laborum.";
document.Form.Add(field);
}
// Save PDF document
document.Save(dataDir + "Tooltip_out.pdf");
}
}
En Aspose.PDF, se implementa una función para ocultar acciones mediante la cual es posible mostrar/ocultar un campo de cuadro de texto (o cualquier otro tipo de anotación) al entrar/salir del mouse sobre algún botón invisible. Para este propósito, se utiliza la clase Aspose.Pdf.Annotations.HideAction para asignar la acción de ocultar/mostrar al bloque de texto. Por favor, utiliza el siguiente fragmento de código para Mostrar/Ocultar un Bloque de Texto al Entrar/Salir del Mouse.
Ten en cuenta también que las acciones PDF en los documentos funcionan bien en los lectores conformes (por ejemplo, Adobe Reader) pero no hay garantías para otros lectores PDF (por ejemplo, complementos de navegadores web). Hemos realizado una breve investigación y encontramos:
buttonField.Actions.OnEnter = new HideAction(floatingField.FullName, false); buttonField.Actions.OnExit = new HideAction(floatingField.FullName);
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CreateHiddenTextBlock()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Add paragraph with text
document.Pages.Add().Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Move the mouse cursor here to display floating text"));
// Save PDF document
document.Save(dataDir + "TextBlock_HideShow_MouseOverOut_out.pdf");
}
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextBlock_HideShow_MouseOverOut_out.pdf"))
{
// Create TextAbsorber object to find all the phrases matching the regular expression
var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Move the mouse cursor here to display floating text");
// Accept the absorber for the document pages
document.Pages.Accept(absorber);
// Get the first extracted text fragment
var textFragments = absorber.TextFragments;
var fragment = textFragments[1];
// Create hidden text field for floating text in the specified rectangle of the page
var floatingField = new Aspose.Pdf.Forms.TextBoxField(fragment.Page, new Aspose.Pdf.Rectangle(100, 700, 220, 740));
// Set text to be displayed as field value
floatingField.Value = "This is the \"floating text field\".";
// We recommend to make field 'readonly' for this scenario
floatingField.ReadOnly = true;
// Set 'hidden' flag to make field invisible on document opening
floatingField.Flags |= Aspose.Pdf.Annotations.AnnotationFlags.Hidden;
// Setting a unique field name isn't necessary but allowed
floatingField.PartialName = "FloatingField_1";
// Setting characteristics of field appearance isn't necessary but makes it better
floatingField.DefaultAppearance = new Aspose.Pdf.Annotations.DefaultAppearance("Helv", 10, System.Drawing.Color.Blue);
floatingField.Characteristics.Background = System.Drawing.Color.LightBlue;
floatingField.Characteristics.Border = System.Drawing.Color.DarkBlue;
floatingField.Border = new Aspose.Pdf.Annotations.Border(floatingField);
floatingField.Border.Width = 1;
floatingField.Multiline = true;
// Add text field to the document
document.Form.Add(floatingField);
// Create invisible button on text fragment position
var buttonField = new Aspose.Pdf.Forms.ButtonField(fragment.Page, fragment.Rectangle);
// Create new hide action for specified field (annotation) and invisibility flag
// (You also may reffer floating field by the name if you specified it above)
// Add actions on mouse enter/exit at the invisible button field
buttonField.Actions.OnEnter = new Aspose.Pdf.Annotations.HideAction(floatingField, false);
buttonField.Actions.OnExit = new Aspose.Pdf.Annotations.HideAction(floatingField);
// Add button field to the document
document.Form.Add(buttonField);
// Save PDF document
document.Save(dataDir + "CreateHiddenTextBlock_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.