【发布时间】:2015-01-27 13:02:54
【问题描述】:
我正在尝试将 pdf 的左侧裁剪为 10 毫米。我用下面的代码 公共无效TrimLeft(字符串源文件路径,字符串输出文件路径) {
PdfReader pdfReader = new PdfReader(sourceFilePath);
float width =(float) GetPDFwidth(sourceFilePath);
float height = (float)GetPDFHeight(sourceFilePath);
float widthTo_Trim = iTextSharp.text.Utilities.MillimetersToPoints(10);
// Set which part of the source document will be copied.
// PdfRectangel(bottom-left-x, bottom-left-y, upper-right-x, upper-right-y)
PdfRectangle rect = new PdfRectangle(0, 0, width - widthTo_Trim, height);
PdfRectangle rectLeftside = new PdfRectangle(0,0,width - widthTo_Trim, height);
using (var output = new FileStream(outputFilePath, FileMode.CreateNew, FileAccess.Write))
{
// Create a new document
Document doc = new Document();
// Make a copy of the document
PdfSmartCopy smartCopy = new PdfSmartCopy(doc, output);
// Open the newly created document
doc.Open();
// Loop through all pages of the source document
for (int i = 1; i <= pdfReader.NumberOfPages; i++)
{
// Get a page
var page = pdfReader.GetPageN(i);
// Apply the rectangle filter we created
page.Put(PdfName.CROPBOX, rectLeftside);
page.Put(PdfName.MEDIABOX, rectLeftside);
// Copy the content and insert into the new document
var copiedPage = smartCopy.GetImportedPage(pdfReader, i);
smartCopy.AddPage(copiedPage);
}
// Close the output document
doc.Close();
}
}
它的 pdf 的裁剪 RHS。我试着改变坐标 PdfRectangle rectLeftside = new PdfRectangle(0,0,width - widthTo_Trim, height); 但无法得到想要的结果。 我如何裁剪 X mm 左侧
【问题讨论】:
-
A 这是
PdfStamper的任务,而不是PdfCopy类。 B你试过PdfRectangle rectLeftside = new PdfRectangle(widthTo_Trim,0,width - widthTo_Trim, height);吗? -
通过使用 PdfRectangle rectLeftside = new PdfRectangle(widthTo_Trim, 0, width, height);得到解决方案
-
您可能希望自己回答这个问题。
-
好的,所以我从我们的 cmets 那里得到了答案。
标签: pdf itextsharp