如何使用iTextSharp设置缩放级别为pdf
本文关键字:pdf 缩放 何使用 iTextSharp 设置 | 更新日期: 2023-09-27 18:07:02
我需要使用iTextSharp将pdf文件的缩放级别设置为75%。我使用以下代码来设置缩放级别。
PdfReader reader = new PdfReader("input.pdf".ToString());
iTextSharp.text.Document doc = new iTextSharp.text.Document(reader.GetPageSize(1));
doc.OpenDocument();
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("Zoom.pdf", FileMode.Create));
PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, doc.PageSize.Height, 0.75f);
doc.Open();
PdfAction action = PdfAction.GotoLocalPage(1, pdfDest, writer);
writer.SetOpenAction(action);
doc.Close();
但是我在doc.Close();
您需要使用PdfStamper
(如mkl所示)而不是PdfWriter
(如Chris Haas所明确的)。请看AddOpenAction
的例子:
public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, reader.getPageSize(1).getHeight(), 0.75f);
PdfAction action = PdfAction.gotoLocalPage(1, pdfDest, stamper.getWriter());
stamper.getWriter().setOpenAction(action);
stamper.close();
reader.close();
}
结果是PDF打开时缩放系数为75%。