Tôi đang sử dụng chức năng dưới đây để chia pdf thành hai.Xoay PDF trong C# bằng iTextSharp
Mặc dù nó đang chia nhỏ pdf, nhưng nội dung sẽ xuất hiện lộn ngược. Làm thế nào để xoay nó 180 độ.
Vui lòng trợ giúp. bên dưới là mã cho cùng một số
private static void ExtractPages(string inputFile, string outputFile,
int start, int end)
{
// get input document
PdfReader inputPdf = new PdfReader(inputFile);
// retrieve the total number of pages
int pageCount = inputPdf.NumberOfPages;
if (end < start || end > pageCount)
{
end = pageCount;
}
// load the input document
Document inputDoc =
new Document(inputPdf.GetPageSizeWithRotation(1));
// create the filestream
using (FileStream fs = new FileStream(outputFile, FileMode.Create))
{
// create the output writer
PdfWriter outputWriter = PdfWriter.GetInstance(inputDoc, fs);
inputDoc.Open();
PdfContentByte cb1 = outputWriter.DirectContent;
// copy pages from input to output document
for (int i = start; i <= end; i++)
{
inputDoc.SetPageSize(inputPdf.GetPageSizeWithRotation(1));
inputDoc.NewPage();
PdfImportedPage page =
outputWriter.GetImportedPage(inputPdf, i);
int rotation = inputPdf.GetPageRotation(i);
if (rotation == 90 || rotation == 270)
{
cb1.AddTemplate(page, 0, -1f, 1f, 0, 0,
inputPdf.GetPageSizeWithRotation(i).Height);
}
else
{
cb1.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
inputDoc.Close();
}
}
Tôi có thể chia tỷ lệ bằng cách sử dụng văn bản đó với cùng một mã –
+1: Rõ ràng 'trường hợp 0: 'có thể được rút ngắn thành' writer.DirectContent.AddTemplate (importedPage, 0, 0); 'Câu trả lời của bạn vừa giúp tôi giải quyết vấn đề quay một tệp PDF hiện có thêm 90, 180 hoặc 270 độ :) Sẽ rất tuyệt nếu các tham số đó được ghi lại ở đâu đó, vì tôi thu thập chúng là ma trận biến đổi (?). Cảm ơn nhiều. –
Có một vấn đề khác với xoay vòng các trang đã xoay. Tôi đã sử dụng câu trả lời của bạn và thêm một câu trả lời với các thao tác kích thước trang/xoay bổ sung để cho phép xoay vòng các trang đã xoay. –