¿Cómo escalo una página en pdf, mientras mantengo la rotación en itextsharp? Tengo el siguiente, pero perder la rotación:¿Cómo escalo una página PDF mientras mantengo la orientación con iTextSharp?
public static void ScaleToLetter(string inPDF, string outPDF)
{
PdfReader reader = new PdfReader(inPDF);
Document doc = new Document(PageSize.LETTER);
Document.Compress = true;
PdfWriter writer = PdfWriter.GetInstance(doc,
new FileStream(outPDF, FileMode.Create));
doc.Open();
PdfContentByte cb = writer.DirectContent;
int rotation;
PdfImportedPage page;
for (int pageNumber = 1; pageNumber <= reader.NumberOfPages; pageNumber++)
{
page = writer.GetImportedPage(reader, pageNumber);
rotation = reader.GetPageRotation(pageNumber);
cb.AddTemplate(page,
PageSize.LETTER.Width/reader.GetPageSize(pageNumber).Width,
0, 0,
PageSize.LETTER.Height/reader.GetPageSize(pageNumber).Height,
0, 0);
doc.NewPage();
}
doc.Close();
}
Utilizando esta solución ha funcionado muy bien para mí, excepto si el PDF tiene una firma electrónica, en cuyo caso la firma electrónica no entra en la página redimensionada. ¿Alguna idea de cómo cambiar el tamaño, incluida la firma electrónica? –