gpt4 book ai didi

c# - 删除 PDF 分页符

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:18 24 4
gpt4 key购买 nike

如何从 pdf 中删除分页符,以便输出为单个“页面”PDF?因此,如果普通页面为 400x900 而我有 4 页,则生成的文件将为 1600x900。我以前为 Tif 文件 ( Remove page breaks in multi-page tif to make one long page ) 做过这个,但想用 PDF 来做。我可以转换为 ps,删除任何表示“分页符”的代码,然后再转换回 pdf 吗?

最佳答案

这可以在 iTextSharp 库中通过使用单列 PdfTable 并根据页数动态更改文档大小来完成。

您当然需要一些对找到的 iTextSharp DLL 的引用 here

using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;

这是一个简单的例子:

public static void MergePages()
{
using (PdfReader reader = new PdfReader(@"C:\Users\cmilne\Desktop\AA0081913.pdf"))//Original PDF containing page breaks.
{
int pages = reader.NumberOfPages;
float postProcessPageHeight = 0;
float postProcessPageWidth = 0;
for (int p = 1; p <= bill.PageCount; p++)
{
var size = bill.PdfReader.GetPageSize(p);
postProcessPageHeight += (size.Height);
if (size.Width > postProcessPageWidth)
postProcessPageWidth = (size.Width);
}

var rect = new Rectangle(postProcessPageWidth, postProcessPageHeight);

using (Document document = new Document(rect, 0, 0, 0, 0))
{
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"C:\Users\cmilne\Desktop\AA0081913_NEW.pdf", FileMode.Create)); //Declare location\name of new PDF not containing page breaks.

document.Open();
PdfImportedPage page;
PdfPTable table = new PdfPTable(1);
table.WidthPercentage = 100;

for (int i = 1; i <= pages; i++)
{
page = writer.GetImportedPage(reader, i);
table.AddCell(iTextSharp.text.Image.GetInstance(page));
}
document.Add(table);
document.Close();
}
}
}

结束页面大小必须小于 14400 x 14400。(这是 iTextSharp 所允许的全部)普通分辨率下的 8 1/2 x 11 PDF 最多可达 18 页。

关于c# - 删除 PDF 分页符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com