Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Les artefacts dans PDF sont des objets graphiques ou d’autres éléments qui ne font pas partie du contenu réel du document. Ils sont généralement utilisés pour la décoration, la mise en page ou comme arrière-plan. Des exemples d’artefacts incluent les en-têtes de page, les pieds de page, les séparateurs ou des images qui ne véhiculent aucune signification.
L’objectif des artefacts dans PDF est de permettre la distinction entre les éléments de contenu et les éléments non liés au contenu. Cela est important pour l’accessibilité, car les lecteurs d’écran et autres technologies d’assistance peuvent ignorer les artefacts et se concentrer sur le contenu pertinent. Les artefacts peuvent également améliorer la performance et la qualité des documents PDF, puisqu’ils peuvent être omis lors de l’impression, de la recherche ou de la copie.
Pour créer un élément en tant qu’artefact dans un PDF, vous devez utiliser la classe Artifact. Il contient les propriétés utiles suivantes:
Les classes suivantes peuvent également être utiles pour travailler avec des artefacts:
Un filigrane créé avec Adobe Acrobat est appelé un artefact (tel que décrit dans la section 14.8.2.2 Contenu réel et artefacts de la spécification PDF).
Pour obtenir tous les filigranes d’une page particulière, la classe Page possède la propriété Artifacts.
L’extrait de code suivant montre comment obtenir tous les filigranes sur la première page d’un fichier PDF.
Note: Ce code fonctionne également avec la bibliothèque 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}");
}
}
}
Les images d’arrière-plan peuvent être utilisées pour ajouter un filigrane ou un autre design subtil aux documents. Dans Aspose.PDF for .NET, chaque document PDF est une collection de pages et chaque page contient une collection d’artefacts. La classe BackgroundArtifact peut être utilisée pour ajouter une image d’arrière-plan à un objet page.
L’extrait de code suivant montre comment ajouter une image d’arrière-plan aux pages PDF en utilisant l’objet 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");
}
}
Si vous souhaitez, pour une raison quelconque, utiliser un arrière-plan de couleur unie, veuillez modifier le code précédent de la manière suivante:
// 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");
}
}
Pour calculer le nombre total d’artefacts d’un type particulier (par exemple, le nombre total de filigranes), utilisez le code suivant:
// 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));
}
}
Pour ajouter un artefact de numérotation Bates à un document, appelez la méthode d’extension AddBatesNumbering(BatesNArtifact batesNArtifact)
sur le PageCollection
, en passant l’objet BatesNArtifact
en paramètre:
Ou, vous pouvez passer une collection de PaginationArtifacts
:
Alternativement, vous pouvez ajouter un artefact de numérotation Bates à l’aide d’un délégué d’action:
Pour supprimer la numérotation Bates, utilisez le code suivant:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.