首页 > 后端开发 > C++ > 如何在 C# 中合并 PDF 时消除多余的空格?

如何在 C# 中合并 PDF 时消除多余的空格?

Patricia Arquette
发布: 2024-12-29 03:55:10
原创
348 人浏览过

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

如何删除合并时的空白

问题:
合并多个 PDF 文档时,每个页面都被视为整页,即使只有少量内容,导致合并后出现垂直空白

解决方案:

使用 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)
    }
}
登录后复制

使用 PageVerticalAnalyzer 类 (C#)

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

    // ... (rest of the methods)
}
登录后复制

收集文件的代码并运行该工具(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())
    }
}
登录后复制

以上是如何在 C# 中合并 PDF 时消除多余的空格?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板