Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.
Aspose.PDF for .NET предлагает свойство SubsequentLinesIndent в классе TextFormattingOptions, которое можно использовать для указания отступа строки в сценариях генерации PDF с TextFragment и коллекцией Paragraphs.
Пожалуйста, используйте следующий фрагмент кода, чтобы использовать это свойство:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void TextFormattingInsidePdf()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
string textFragment = string.Concat(Enumerable.Repeat("A quick brown fox jumped over the lazy dog. ", 10));
Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment(textFragment);
// Initilize TextFormattingOptions for the text fragment and specify SubsequentLinesIndent value
text.TextState.FormattingOptions = new Aspose.Pdf.Text.TextFormattingOptions()
{
SubsequentLinesIndent = 20
};
page.Paragraphs.Add(text);
text = new Aspose.Pdf.Text.TextFragment("Line2");
page.Paragraphs.Add(text);
text = new Aspose.Pdf.Text.TextFragment("Line3");
page.Paragraphs.Add(text);
text = new Aspose.Pdf.Text.TextFragment("Line4");
page.Paragraphs.Add(text);
text = new Aspose.Pdf.Text.TextFragment("Line5");
page.Paragraphs.Add(text);
// Save PDF document
document.Save(dataDir + "SubsequentIndent_out.pdf");
}
}
В следующем фрагменте кода показано, как добавить границу к тексту с помощью TextBuilder и установки свойства DrawTextRectangleBorder в TextState:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddTextBorder()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Get particular page
var page = document.Pages.Add();
// Create text fragment
var textFragment = new Aspose.Pdf.Text.TextFragment("main text");
textFragment.Position = new Aspose.Pdf.Text.Position(100, 600);
// Set text properties
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.Red;
// Set StrokingColor property for drawing border (stroking) around text rectangle
textFragment.TextState.StrokingColor = Aspose.Pdf.Color.DarkRed;
// Set DrawTextRectangleBorder property value to true
textFragment.TextState.DrawTextRectangleBorder = true;
var tb = new Aspose.Pdf.Text.TextBuilder(page);
tb.AppendText(textFragment);
// Save PDF document
document.Save(dataDir + "PDFWithTextBorder_out.pdf");
}
}
Следующий фрагмент кода показывает, как добавить подчёркивание при создании нового PDF-файла.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddUnderlineText()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Add age page to PDF document
document.Pages.Add();
// Create TextBuilder for first page
var tb = new Aspose.Pdf.Text.TextBuilder(document.Pages[1]);
// TextFragment with sample text
var fragment = new Aspose.Pdf.Text.TextFragment("Test message");
// Set the font for TextFragment
fragment.TextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Arial");
fragment.TextState.FontSize = 10;
// Set the formatting of text as Underline
fragment.TextState.Underline = true;
// Specify the position where TextFragment needs to be placed
fragment.Position = new Aspose.Pdf.Text.Position(10, 800);
// Append TextFragment to PDF file
tb.AppendText(fragment);
// Save PDF document
document.Save(dataDir + "AddUnderlineText_out.pdf");
}
}
Вы можете контролировать внешний вид добавляемого текста. В примере ниже показано, как добавить рамку вокруг фрагмента текста, который вы добавили, нарисовав вокруг него прямоугольник. Узнайте больше о классе PdfContentEditor.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddBorder()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Open PDF document
using (var editor = new Aspose.Pdf.Facades.PdfContentEditor())
{
// Bind PDF document
editor.BindPdf(dataDir + "AddBorder.pdf");
var lineInfo = new Aspose.Pdf.Facades.LineInfo();
lineInfo.LineWidth = 2;
lineInfo.VerticeCoordinate = new float[] { 0, 0, 100, 100, 50, 100 };
lineInfo.Visibility = true;
// Add border
editor.CreatePolygon(lineInfo, 1, new System.Drawing.Rectangle(0, 0, 0, 0), "");
// Save PDF document
editor.Save(dataDir + "AddingBorderAroundAddedText_out.pdf");
}
}
TextFragment не поддерживает перевод строки внутри текста. Однако, чтобы добавить текст с переводом строки, используйте TextFragment с TextParagraph:
Используйте следующий фрагмент кода.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddNewLine()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
// Initialize new TextFragment with text containing required newline markers
var textFragment = new Aspose.Pdf.Text.TextFragment("Applicant Name: " + Environment.NewLine + " Joe Smoe");
// Set text fragment properties if necessary
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.Red;
// Create TextParagraph object
var par = new Aspose.Pdf.Text.TextParagraph();
// Add new TextFragment to paragraph
par.AppendLine(textFragment);
// Set paragraph position
par.Position = new Aspose.Pdf.Text.Position(100, 600);
// Create TextBuilder object
var textBuilder = new Aspose.Pdf.Text.TextBuilder(page);
// Add the TextParagraph using TextBuilder
textBuilder.AppendParagraph(par);
// Save PDF document
document.Save(dataDir + "AddNewLineFeed_out.pdf");
}
}
Класс TextState предоставляет возможности для установки форматирования для текстовых фрагментов, размещаемых внутри PDF-документа. Вы можете использовать этот класс для установки форматирования текста как полужирного, курсивного, подчёркнутого, а начиная с этого выпуска API предоставил возможности отмечать форматирование текста как зачёркнутое. Попробуйте использовать следующий фрагмент кода для добавления TextFragment с форматированием зачёркивания.
Используйте полный фрагмент кода:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddStrikeoutText()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
// Get particular page
var page = document.Pages.Add();
// Create text fragment
var textFragment = new Aspose.Pdf.Text.TextFragment("main text");
textFragment.Position = new Aspose.Pdf.Text.Position(100, 600);
// Set text properties
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.LightGray;
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.Red;
// Set StrikeOut property
textFragment.TextState.StrikeOut = true;
// Mark text as Bold
textFragment.TextState.FontStyle = Aspose.Pdf.Text.FontStyles.Bold;
// Create TextBuilder object
var textBuilder = new Aspose.Pdf.Text.TextBuilder(page);
// Append the text fragment to the PDF page
textBuilder.AppendText(textFragment);
// Save PDF document
document.Save(dataDir + "AddStrikeOutText_out.pdf");
}
}
Форматирование текста было дополнительно улучшено в API для сценариев редактирования текста, и теперь вы можете добавлять текст с шаблоном цветового пространства внутри PDF-документа. Класс Aspose.Pdf.Color был дополнительно усовершенствован путём введения нового свойства PatternColorSpace, которое можно использовать для указания цветов затенения для текста. Это новое свойство добавляет различные градиентные заливки к тексту, например, осевое затенение, радиальное (тип 3) затенение, как показано в следующем фрагменте кода:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ApplyGradientShadingToText()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "text_sample4.pdf"))
{
var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Lorem ipsum");
document.Pages.Accept(absorber);
var textFragment = absorber.TextFragments[1];
// Create new color with pattern colorspace
textFragment.TextState.ForegroundColor = new Aspose.Pdf.Color()
{
PatternColorSpace = new Aspose.Pdf.Drawing.GradientAxialShading(Aspose.Pdf.Color.Red, Aspose.Pdf.Color.Blue)
};
textFragment.TextState.Underline = true;
// Save PDF document
document.Save(dataDir +"ApplyGradientShadingToText_out.pdf");
}
}
Чтобы применить радиальный градиент, вы можете установить для свойства ‘PatternColorSpace’ значение ‘Aspose.Pdf.Drawing.GradientRadialShading(startingColor, endingColor)’ в приведённом выше фрагменте кода.
Aspose.PDF поддерживает установку выравнивания текста для содержимого внутри элемента Floating Box. Для достижения этого можно использовать свойства выравнивания экземпляра Aspose.Pdf.FloatingBox, как показано в следующем примере кода.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AlignTextToFloat()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Create PDF document
using (var document = new Aspose.Pdf.Document())
{
var page = document.Pages.Add();
// Create float box
Aspose.Pdf.FloatingBox floatBox = new Aspose.Pdf.FloatingBox(100, 100);
// Set settings to float box
floatBox.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Bottom;
floatBox.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Right;
floatBox.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("FloatingBox_bottom"));
floatBox.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Blue);
// Add float box
page.Paragraphs.Add(floatBox);
// Create float box
Aspose.Pdf.FloatingBox floatBox1 = new Aspose.Pdf.FloatingBox(100, 100);
// Set settings to float box
floatBox1.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Center;
floatBox1.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Right;
floatBox1.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("FloatingBox_center"));
floatBox1.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Blue);
// Add float box
page.Paragraphs.Add(floatBox1);
// Create float box
Aspose.Pdf.FloatingBox floatBox2 = new Aspose.Pdf.FloatingBox(100, 100);
// Set settings to float box
floatBox2.VerticalAlignment = Aspose.Pdf.VerticalAlignment.Top;
floatBox2.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Right;
floatBox2.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("FloatingBox_top"));
floatBox2.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, Aspose.Pdf.Color.Blue);
// Add float box
page.Paragraphs.Add(floatBox2);
// Save PDF document
document.Save(dataDir + "FloatingBox_alignment_review_out.pdf");
}
}
Сначала фрагмент кода создаёт объект Document из файла. Затем он добавляет TextFragmentAbsorber для поиска и редактирования текста. Затем он проверяет наличие скрытого текста и удаляет его. Наконец, он сохраняет обновлённый документ.
Этот метод сохраняет видимый текст без изменений и сохраняет макет.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveHiddenText()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Text();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "HiddenText.pdf"))
{
var textAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
// This option can be used to prevent other text fragments from moving after hidden text replacement
textAbsorber.TextReplaceOptions = new Aspose.Pdf.Text.TextReplaceOptions(Aspose.Pdf.Text.TextReplaceOptions.ReplaceAdjustment.None);
document.Pages.Accept(textAbsorber);
// Remove hidden text
foreach (var fragment in textAbsorber.TextFragments)
{
if (fragment.TextState.Invisible)
{
fragment.Text = "";
}
}
// Save PDF document
document.Save(dataDir + "HiddenText_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.