Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Артефакты в PDF — это графические объекты или другие элементы, которые не являются частью фактического содержимого документа. Обычно они используются для украшения, макета или фона. Примерами артефактов являются заголовки страниц, нижние колонтитулы, разделители или изображения, не несущие никакого смысла.
Цель артефактов в PDF — позволить различать содержимое и не относящиеся к нему элементы. Это важно для обеспечения доступности, поскольку программы чтения с экрана и другие вспомогательные технологии могут игнорировать артефакты и сосредоточиться на соответствующем содержимом. Артефакты также могут повысить производительность и качество PDF-документов, поскольку их можно исключить из печати, поиска или копирования.
Чтобы создать элемент в качестве артефакта в PDF, необходимо использовать класс Artifact. Он содержит следующие полезные свойства:
Для работы с артефактами также могут быть полезны следующие классы:
Водяной знак, созданный с помощью Adobe Acrobat, называется артефактом (как описано в 14.8.2.2 Реальное содержимое и артефакты спецификации PDF).
Чтобы получить все водяные знаки на определённой странице, класс Page имеет свойство Artifacts.
Следующий фрагмент кода показывает, как получить все водяные знаки на первой странице PDF-файла.
Примечание: Этот код также работает с библиотекой Aspose.PDF.Drawing.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractWatermarkFromPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample-w.pdf"))
{
// Get the watermarks from the first page artifacts
var watermarks = document.Pages[1].Artifacts
.Where(artifact =>
artifact.Type == Aspose.Pdf.Artifact.ArtifactType.Pagination
&& artifact.Subtype == Aspose.Pdf.Artifact.ArtifactSubtype.Watermark);
// Iterate through the found watermark artifacts and print details
foreach (Aspose.Pdf.WatermarkArtifact item in watermarks.Cast<Aspose.Pdf.WatermarkArtifact>())
{
Console.WriteLine($"{item.Text} {item.Rectangle}");
}
}
}
Фоновые изображения можно использовать для добавления водяных знаков или другого ненавязчивого оформления документов. В «Aspose.PDF for .NET» каждый PDF-документ представляет собой набор страниц, и каждая страница содержит набор артефактов. Класс BackgroundArtifact можно использовать для добавления фонового изображения к объекту страницы.
Следующий фрагмент кода показывает, как добавить фоновое изображение на страницы PDF с помощью объекта BackgroundArtifact.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddBackgroundImageToPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample.pdf"))
{
// Create a new BackgroundArtifact and set the background image
var background = new Aspose.Pdf.BackgroundArtifact()
{
BackgroundImage = File.OpenRead(dataDir + "background.jpg")
};
// Add the background image to the first page's artifacts
document.Pages[1].Artifacts.Add(background);
// Save PDF document with the added background
document.Save(dataDir + "SampleArtifactsBackground_out.pdf");
}
}
Если вы по какой-то причине хотите использовать сплошной цветовой фон, измените предыдущий код следующим образом:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void AddBackgroundColorToPDF()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample.pdf"))
{
// Create a new BackgroundArtifact and set the background color
var background = new Aspose.Pdf.BackgroundArtifact()
{
BackgroundColor = Aspose.Pdf.Color.DarkKhaki
};
// Add the background color to the first page's artifacts
document.Pages[1].Artifacts.Add(background);
// Save PDF document
document.Save(dataDir + "SampleArtifactsBackground_out.pdf");
}
}
Чтобы вычислить общее количество артефактов определённого типа (например, общее количество водяных знаков), используйте следующий код:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void CountPDFArtifacts()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "sample.pdf"))
{
// Get pagination artifacts from the first page
var paginationArtifacts = document.Pages[1].Artifacts
.Where(artifact => artifact.Type == Aspose.Pdf.Artifact.ArtifactType.Pagination);
// Count and display the number of each artifact type
Console.WriteLine("Watermarks: {0}",
paginationArtifacts.Count(a => a.Subtype == Aspose.Pdf.Artifact.ArtifactSubtype.Watermark));
Console.WriteLine("Backgrounds: {0}",
paginationArtifacts.Count(a => a.Subtype == Aspose.Pdf.Artifact.ArtifactSubtype.Background));
Console.WriteLine("Headers: {0}",
paginationArtifacts.Count(a => a.Subtype == Aspose.Pdf.Artifact.ArtifactSubtype.Header));
Console.WriteLine("Footers: {0}",
paginationArtifacts.Count(a => a.Subtype == Aspose.Pdf.Artifact.ArtifactSubtype.Footer));
}
}
Чтобы добавить артефакт нумерации Бейтса в документ, вызовите метод расширения AddBatesNumbering(BatesNArtifact batesNArtifact)
на PageCollection
, передав объект BatesNArtifact
в качестве параметра:
Или вы можете передать коллекцию PaginationArtifacts
:
Кроме того, вы можете добавить артефакт нумерации Бейтса, используя делегат действия:
Чтобы удалить нумерацию Бейтса, используйте следующий код:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.