Désintégrez les polices et optimisez les fichiers PDF
Aspose.PDF pour .NET est une bibliothèque puissante qui offre un large éventail de fonctionnalités pour travailler avec des documents PDF. L’une de ses fonctionnalités consiste à obtenir des polices non intégrées à partir d’un document PDF. Cela peut être utile si vous devez extraire des polices d’un document PDF et les utiliser dans d’autres applications.
nous fournirons un guide étape par étape pour expliquer le code source C# suivant de la fonctionnalité d’obtention de polices non intégrées d’Aspose.PDF pour .NET.
Étape 1 : Définir le chemin d’accès au répertoire de documents
Avant de commencer, nous devons définir le chemin d’accès au répertoire où se trouve notre document PDF. Nous stockerons ce chemin dans une variable appelée “dataDir”.
// Le chemin d'accès au répertoire des documents.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Remplacez « VOTRE RÉPERTOIRE DE DOCUMENTS » par le chemin réel vers le répertoire où se trouve votre document PDF.
Étape 2 : ouvrez le document PDF
La première étape consiste à charger le document PDF que vous souhaitez faire, utilisez leDocument
classe d’Aspose.PDF pour .NET. L’extrait de code suivant montre comment charger le document PDF :
// Ouvrir le document
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");
Étape 3 : définissez l’option UnembedFonts
Pour obtenir les polices non intégrées du document PDF, vous devez définir le paramètreUnembedFonts
possibilité detrue
. Cette option est disponible dans leOptimizationOptions
classe. L’extrait de code suivant montre comment définir leUnembedFonts
option:
// Définir l'option UnembedFonts
var optimizeOptions = new Pdf.Optimization.OptimizationOptions
{
UnembedFonts = true
};
Étape 4 : Optimiser le document PDF
Après avoir réglé leUnembedFonts
option, vous pouvez optimiser le document PDF à l’aide de l’optionOptimizeResources
méthode duDocument
classe. L’extrait de code suivant montre comment optimiser le document PDF :
// Optimiser le document PDF à l'aide d'OptimizationOptions
pdfDocument.OptimizeResources(optimizeOptions);
Étape 5 : Enregistrez le document mis à jour
Une fois le document PDF optimisé, vous pouvez enregistrer le document mis à jour à l’aide duSave
méthode duDocument
classe. L’extrait de code suivant montre comment enregistrer le document mis à jour :
// Enregistrer le document mis à jour
pdfDocument.Save(dataDir + "OptimizeDocument_out.pdf");
Étape 6 : Obtenez la taille de fichier originale et réduite
Enfin, vous pouvez obtenir la taille de fichier originale et réduite du document PDF en utilisant leFileInfo
classe de System.IO. L’extrait de code suivant montre comment obtenir la taille de fichier originale et réduite :
var fi1 = new System.IO.FileInfo(dataDir + "OptimizeDocument.pdf");
var fi2 = new System.IO.FileInfo(dataDir + "OptimizeDocument_out.pdf");
Console.WriteLine("Original file size: {0}. Reduced file size: {1}", fi1.Length, fi2.Length);
Exemple de code source pour obtenir des polices non intégrées à l’aide d’Aspose.PDF pour .NET
Voici l’exemple complet de code source pour obtenir des polices non intégrées à partir d’un document PDF à l’aide d’Aspose.PDF pour .NET :
// Le chemin d'accès au répertoire des documents.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Ouvrir le document
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");
// Définir l'option UnembedFonts
var optimizeOptions = new Pdf.Optimization.OptimizationOptions
{
UnembedFonts = true
};
Console.WriteLine("Start");
// Optimiser le document PDF à l'aide d'OptimizationOptions
pdfDocument.OptimizeResources(optimizeOptions);
// Enregistrer le document mis à jour
pdfDocument.Save(dataDir + "OptimizeDocument_out.pdf");
Console.WriteLine("Finished");
var fi1 = new System.IO.FileInfo(dataDir + "OptimizeDocument.pdf");
var fi2 = new System.IO.FileInfo(dataDir + "OptimizeDocument_out.pdf");
Console.WriteLine("Original file size: {0}. Reduced file size: {1}", fi1.Length, fi2.Length);
Conclusion
Dans ce didacticiel, nous avons montré comment utiliser Aspose.PDF pour .NET pour obtenir des polices non intégrées à partir d’un document PDF. En suivant le guide étape par étape, vous pouvez facilement implémenter cette fonctionnalité dans vos applications C#. La désintégration des polices peut être avantageuse lorsque vous devez travailler avec les polices extraites séparément ou garantir une utilisation cohérente des polices sur différentes plates-formes.
FAQ
Q : A quoi sert la suppression des polices d’un document PDF ?
R : La suppression des polices d’un document PDF vous permet d’extraire les polices incorporées et de les utiliser dans d’autres applications. Cela peut être utile pour garantir un rendu cohérent des polices et préserver l’apparence visuelle du document.
Q : Comment spécifier le chemin d’accès au répertoire de documents dans le code C# ?
R : Pour spécifier le chemin d’accès au répertoire du document, remplacez"YOUR DOCUMENT DIRECTORY"
dans le code avec le chemin réel vers le répertoire où se trouve votre document PDF.
Q : Qu’est-ce que leUnembedFonts
option do, and where is it set?
R : LeUnembedFonts
option, disponible dans leOptimizationOptions
classe, active ou désactive la désintégration des polices du document PDF. Pour définir cette option surtrue
, utilisez le code suivant :
var optimizeOptions = new Pdf.Optimization.OptimizationOptions
{
UnembedFonts = true
};
Q : Puis-je annuler les modifications apportées au cours du processus d’optimisation ?
R : Aspose.PDF pour .NET n’apporte pas de modifications permanentes au document PDF d’origine pendant l’optimisation. Le processus d’optimisation est effectué sur une copie du document, laissant l’original intact.
Q : Comment puis-je vérifier la taille du fichier d’origine et réduite après l’optimisation ?
R : Vous pouvez utiliser leFileInfo
une sorte deSystem.IO
pour obtenir la taille de fichier originale et réduite. Voici un exemple d’extrait de code pour y parvenir :
var fi1 = new System.IO.FileInfo(dataDir + "OptimizeDocument.pdf");
var fi2 = new System.IO.FileInfo(dataDir + "OptimizeDocument_out.pdf");
Console.WriteLine("Original file size: {0}. Reduced file size: {1}", fi1.Length, fi2.Length);