如何使用 Itext 库将 PDF 文件从 A4 大小拆分为字母大小(A4 大小的一半)C#
How to split PDF files from A4 size to letter size (half of A4 size) C# with Itext library
我想在 c# 中将 pdf 文件从 A4 大小拆分为信纸大小
现在我用这段代码拆分它,但它保持相同的大小
string inPDF = Application.StartupPath + "\log\input.pdf";
string outPDF = Application.StartupPath + "\log\output.pdf";\
PdfStream pdfStream = new PdfStream(inPDF, FileMode.Open);
PdfStream newPdfStream = new PdfStream(outPDF, FileMode.Create);
PdfReader reader = new PdfReader(pdfStream);
PageSize = reader.getPageSize(1);
Document document = new Document(PageSize);
PdfWriter writer = PdfWriter.getInstance(document, newPdfStream);
document.open();
PdfContentByte content = writer.Directcontent();
PdfImportPage page = writer.getImportPage(reader, 1);
content.addTemplate(page , 0 , 0);
content.Fill();
document.setPageSize(PageSize);
document.Close();
reader.Close();
这是原始pdf文件
这是预期的输出 Pdf 文件
如何将 pdf 文件拆分为 A4 大小的一半???
感谢阅读我的 post !
我用这段代码修复了它:
FileStream newPdfStream = new FileStream(destineFile, FileMode.Create, FileAccess.ReadWrite);
PdfReader reader = new PdfReader(sourceFile);
iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(
reader.GetPageSize(1).Width,
(reader.GetPageSize(1).Height - reader.GetPageSize(1).Height * 2 / 3));
Document document = new Document(pageSize);
PdfWriter writer = PdfWriter.GetInstance(document, newPdfStream);
document.Open();
PdfContentByte content = writer.DirectContent;
PdfImportedPage page = writer.GetImportedPage(reader, 1);
content.AddTemplate(page, 0, -reader.GetPageSize(1).Height * 2 / 3);
content.SetColorFill(BaseColor.WHITE);
content.Fill();
document.SetPageSize(pageSize);
document.NewPage();
现在效果很好。您可以在 pageSize 变量中调整文件大小。
祝你好运!
我想在 c# 中将 pdf 文件从 A4 大小拆分为信纸大小 现在我用这段代码拆分它,但它保持相同的大小
string inPDF = Application.StartupPath + "\log\input.pdf";
string outPDF = Application.StartupPath + "\log\output.pdf";\
PdfStream pdfStream = new PdfStream(inPDF, FileMode.Open);
PdfStream newPdfStream = new PdfStream(outPDF, FileMode.Create);
PdfReader reader = new PdfReader(pdfStream);
PageSize = reader.getPageSize(1);
Document document = new Document(PageSize);
PdfWriter writer = PdfWriter.getInstance(document, newPdfStream);
document.open();
PdfContentByte content = writer.Directcontent();
PdfImportPage page = writer.getImportPage(reader, 1);
content.addTemplate(page , 0 , 0);
content.Fill();
document.setPageSize(PageSize);
document.Close();
reader.Close();
这是原始pdf文件
这是预期的输出 Pdf 文件
如何将 pdf 文件拆分为 A4 大小的一半??? 感谢阅读我的 post !
我用这段代码修复了它:
FileStream newPdfStream = new FileStream(destineFile, FileMode.Create, FileAccess.ReadWrite);
PdfReader reader = new PdfReader(sourceFile);
iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(
reader.GetPageSize(1).Width,
(reader.GetPageSize(1).Height - reader.GetPageSize(1).Height * 2 / 3));
Document document = new Document(pageSize);
PdfWriter writer = PdfWriter.GetInstance(document, newPdfStream);
document.Open();
PdfContentByte content = writer.DirectContent;
PdfImportedPage page = writer.GetImportedPage(reader, 1);
content.AddTemplate(page, 0, -reader.GetPageSize(1).Height * 2 / 3);
content.SetColorFill(BaseColor.WHITE);
content.Fill();
document.SetPageSize(pageSize);
document.NewPage();
现在效果很好。您可以在 pageSize 变量中调整文件大小。 祝你好运!