Maison >développement back-end >C++ >Comment éliminer les espaces inutiles lors de la fusion de PDF en C# ?

Comment éliminer les espaces inutiles lors de la fusion de PDF en C# ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 03:55:10348parcourir

How to Eliminate Excess Whitespace When Merging PDFs in C#?

Comment supprimer les espaces lors de la fusion

Problème :
Lors de la fusion de plusieurs documents PDF, chaque page est considérée comme une page entière même si il n'y a qu'une petite quantité de contenu, ce qui entraîne des espaces verticaux dans le fichier fusionné document.

Solution :

Utilisation de la classe PdfVeryDenseMergeTool (C#) :

public class PdfVeryDenseMergeTool
{
    // ... (rest of the class)
    protected Rectangle PageSize;
    protected float TopMargin;
    protected float BottomMargin;
    protected float Gap;
    protected Document Document;
    protected PdfWriter Writer;
    protected float YPosition = 0;

    public PdfVeryDenseMergeTool(Rectangle size, float top, float bottom, float gap)
    {
        // ... (rest of the constructor)
    }

    public void Merge(MemoryStream outputStream, List<PdfReader> inputs)
    {
        // ... (rest of the method)
    }
}

Utilisation de la classe PageVerticalAnalyzer (C#) :

public class PageVerticalAnalyzer : IRenderListener
{
    // ... (rest of the class)
    public List<float> VerticalFlips = new List<float>();

    // ... (rest of the methods)
}

Code pour rassembler des fichiers et exécuter l'outil (C#) :

public void TestMergeDocuments()
{
    PdfVeryDenseMergeTool tool = new PdfVeryDenseMergeTool(iTextSharp.text.PageSize.A4, 18, 18, 10);
    List<byte[]> Files = new List<byte[]>();

    // ... (code to load files)

    using (MemoryStream ms = new MemoryStream())
    {
        List<PdfReader> files = new List<PdfReader>();
        foreach (byte[] ba in Files)
        {
            files.Add(new PdfReader(ba));
        }
        tool.Merge(ms, files);
        // ... (save the file using ms.GetBuffer())
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn