Lettertype in PDF-bestand insluiten

Invoering

Bij het maken van PDF’s is een van de belangrijkste aspecten ervoor zorgen dat de lettertypen die in uw document worden gebruikt, zijn ingesloten. Dit behoudt niet alleen het uiterlijk van het document op verschillende apparaten, maar voorkomt ook problemen met lettertypevervanging. In deze tutorial leiden we u door het proces van het insluiten van lettertypen in een PDF-bestand met Aspose.PDF voor .NET.

Vereisten

Voordat we in de code duiken, zijn er een paar vereisten die je moet hebben:

  1. Aspose.PDF voor .NET: Zorg ervoor dat u de Aspose.PDF-bibliotheek hebt geïnstalleerd. U kunt deze downloaden van dewebsite.
  2. Visual Studio: een ontwikkelomgeving waarin u uw .NET-code kunt schrijven en uitvoeren.
  3. Basiskennis van C#: Kennis van C#-programmering helpt u de codefragmenten beter te begrijpen.

Pakketten importeren

Om te beginnen moet u de benodigde pakketten importeren in uw C#-project. Dit is hoe u dat kunt doen:

  1. Open uw Visual Studio-project.
  2. Klik met de rechtermuisknop op uw project in Solution Explorer en selecteer ‘NuGet-pakketten beheren’.
  3. Zoeken naarAspose.PDF en installeer de nieuwste versie.
using System.IO;
using System;
using Aspose.Pdf;
using Aspose.Pdf.Annotations;
using Aspose.Pdf.Text;

Nu we alles hebben ingesteld, gaan we stap voor stap het proces van het insluiten van lettertypen in een PDF-bestand uitleggen.

Stap 1: Stel uw documentenmap in

Allereerst moet u het pad naar uw documentenmap definiëren. Dit is waar uw invoer-PDF-bestand zich bevindt en waar het uitvoerbestand wordt opgeslagen.

// Het pad naar de documentenmap.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Zorg ervoor dat u vervangt"YOUR DOCUMENT DIRECTORY"met het daadwerkelijke pad waar uw PDF-bestanden zijn opgeslagen.

Stap 2: Laad het bestaande PDF-bestand

Vervolgens wilt u het bestaande PDF-bestand laden dat u wilt wijzigen. Dit doet u met behulp van deDocument les verzorgd door Aspose.PDF.

// Een bestaand PDF-bestand laden
Document doc = new Document(dataDir + "input.pdf");

Hier laden we een PDF-bestand met de naaminput.pdfZorg ervoor dat dit bestand in de door u opgegeven map staat.

Stap 3: Loop door alle pagina’s

Nu we ons document hebben geladen, moeten we door alle pagina’s in de PDF itereren. Zo kunnen we elke pagina controleren op lettertypen die moeten worden ingesloten.

// Doorloop alle pagina's
foreach (Page page in doc.Pages)
{
    // Controleer of de pagina bronnen heeft
    if (page.Resources.Fonts != null)
    {
        foreach (Aspose.Pdf.Text.Font pageFont in page.Resources.Fonts)
        {
            // Controleer of het lettertype al is ingesloten
            if (!pageFont.IsEmbedded)
                pageFont.IsEmbedded = true;
        }
    }
}

In deze code controleren we of de pagina lettertypen heeft. Als dat zo is, doorlopen we elk lettertype en controleren of het al is ingesloten. Als dat niet het geval is, stellen we deIsEmbedded eigendom vantrue.

Stap 4: Controleer op formulierobjecten

Naast gewone paginalettertypen kunnen PDF’s formulierobjecten bevatten die ook lettertypen gebruiken. We moeten ervoor zorgen dat deze lettertypen ook zijn ingesloten.

// Controleer op de Form-objecten
foreach (XForm form in page.Resources.Forms)
{
    if (form.Resources.Fonts != null)
    {
        foreach (Aspose.Pdf.Text.Font formFont in form.Resources.Fonts)
        {
            // Controleer of het lettertype is ingesloten
            if (!formFont.IsEmbedded)
                formFont.IsEmbedded = true;
        }
    }
}

Met dit codefragment wordt gecontroleerd of er formulierobjecten op de pagina staan en wordt dezelfde insluitingscontrole uitgevoerd voor hun lettertypen.

Stap 5: Sla het gewijzigde PDF-document op

Nadat u de lettertypen hebt ingesloten, is het tijd om het aangepaste PDF-document op te slaan. U kunt een nieuwe bestandsnaam voor de uitvoer opgeven.

dataDir = dataDir + "EmbedFont_out.pdf";
// PDF-document opslaan
doc.Save(dataDir);

In dit geval slaan we de gewijzigde PDF op alsEmbedFont_out.pdf in dezelfde directory.

Stap 6: Bevestig de bewerking

Ten slotte is het altijd een goede gewoonte om te bevestigen dat de bewerking succesvol was. U kunt dit doen door een bericht naar de console te printen.

Console.WriteLine("\nFont embedded successfully in a PDF file.\nFile saved at " + dataDir);

Dit bericht geeft aan dat de lettertypen zijn ingesloten en dat het bestand succesvol is opgeslagen.

Conclusie

Het insluiten van lettertypen in PDF-bestanden is een eenvoudig proces met Aspose.PDF voor .NET. Door de stappen te volgen die in deze tutorial worden beschreven, kunt u ervoor zorgen dat uw PDF-documenten hun beoogde uiterlijk behouden op verschillende platforms. Of u nu rapporten, formulieren of een ander type document maakt, het insluiten van lettertypen is een cruciale stap in het PDF-creatieproces.

Veelgestelde vragen

Wat is lettertype-insluiting in PDF’s?

Met lettertype-insluiting zorgt u ervoor dat de lettertypen die in een PDF worden gebruikt, ook in het bestand worden opgenomen. Zo voorkomt u problemen met lettertypevervanging op verschillende apparaten.

Waarom zou ik Aspose.PDF voor .NET gebruiken?

Aspose.PDF voor .NET is een krachtige bibliotheek die PDF-bewerking vereenvoudigt, inclusief het insluiten van lettertypen, het maken en bewerken van documenten.

Kan ik lettertypen in bestaande PDF-bestanden insluiten?

Ja, u kunt lettertypen in bestaande PDF-bestanden insluiten met behulp van de Aspose.PDF-bibliotheek, zoals in deze tutorial wordt gedemonstreerd.

Is er een gratis proefversie beschikbaar voor Aspose.PDF?

Ja, u kunt een gratis proefversie van Aspose.PDF downloaden van dewebsite.

Waar kan ik ondersteuning vinden voor Aspose.PDF?

U kunt ondersteuning vinden en vragen stellen op deAspose-forum.