repetir pie para pagina insertar imagen encabezado ejemplos c# asp.net pdf split itextsharp

c# - pie - Divida archivos PDF en mĂșltiples archivos PDF utilizando iTextsharp



itextsharp pdf (2)

esto será de utilidad. coincide mucho con su requisito

http://www.codeproject.com/Articles/559380/SplittingplusandplusMergingplusPdfplusFilesplusinp

public int SplitAndSave(string inputPath, string outputPath) { FileInfo file = new FileInfo(inputPath); string name = file.Name.Substring(0, file.Name.LastIndexOf(".")); using (PdfReader reader = new PdfReader(inputPath)) { for (int pagenumber = 1; pagenumber <= reader.NumberOfPages; pagenumber++) { string filename = pagenumber.ToString() + ".pdf"; Document document = new Document(); PdfCopy copy = new PdfCopy(document, new FileStream(outputPath + "//" + filename, FileMode.Create)); document.Open(); copy.AddPage(copy.GetImportedPage(reader, pagenumber)); document.Close(); } return reader.NumberOfPages; } }

Quiero dividir el PDF en varios PDF con un intervalo de 50 páginas. (Supongamos que si hay 400 páginas PDF, quiero 8 pdfs). El código anterior está dividiendo cada página en un pdf. Por favor, ayúdame ... Estoy usando asp.net con iTextSharp.


Está recorriendo el pdf y creando un nuevo documento cada vez que avanza una página. Tendrá que hacer un seguimiento de sus páginas para poder dividirlas cada 50 páginas. Personalmente, pondría eso en un método aparte y lo llamaré desde tu loop. Algo como esto:

private void ExtractPages(string sourcePDFpath, string outputPDFpath, int startpage, int endpage) { PdfReader reader = null; Document sourceDocument = null; PdfCopy pdfCopyProvider = null; PdfImportedPage importedPage = null; reader = new PdfReader(sourcePDFpath); sourceDocument = new Document(reader.GetPageSizeWithRotation(startpage)); pdfCopyProvider = new PdfCopy(sourceDocument, new System.IO.FileStream(outputPDFpath, System.IO.FileMode.Create)); sourceDocument.Open(); for (int i = startpage; i <= endpage; i++) { importedPage = pdfCopyProvider.GetImportedPage(reader, i); pdfCopyProvider.AddPage(importedPage); } sourceDocument.Close(); reader.Close(); }

Por lo tanto, en el ciclo original de su código a través de su pdf y cada 50 páginas, llame al método anterior. Simplemente deberá agregar variables en su bloque para realizar un seguimiento de las páginas de inicio / finalización.