私は作物pdfを作成してページを回転しようとしています(すべてのページの横が横になっているはずです)。これは切り取られたページの向きを取得します
私は最初の収穫にこの機能を使用します。
public void obreziPDF(string fileName)
{
f (System.IO.File.Exists(fileName))
{
string putanja = System.IO.Path.GetDirectoryName(fileName);
PdfReader pdfReader = new PdfReader(System.IO.File.ReadAllBytes(fileName));
PdfStamper stamper = new PdfStamper(pdfReader, new System.IO.FileStream(fileName, FileMode.Create, FileAccess.Write));
for (int p = 1; p <= pdfReader.NumberOfPages; p++)
{
PdfDictionary page = pdfReader.GetPageN(1);
Rectangle rect = getOutputPageSize(pdfReader, 1);
float[] flo = { rect.Left, rect.Bottom, rect.Right, rect.Top };
PdfArray pdfa = new PdfArray(flo);
page.Put(PdfName.MEDIABOX, pdfa);
stamper.MarkUsed(page);
}
stamper.Close();
pdfReader.Close();
}
}
と、この回転していることを確認し、必要に応じて回転させます。
public void okreniPDF(string fileName)
{
if (System.IO.File.Exists(fileName))
{
string putanja = System.IO.Path.GetDirectoryName(fileName);
PdfReader pdfReader1 = new PdfReader(System.IO.File.ReadAllBytes(fileName));
// PdfStamper stamper = new PdfStamper(pdfReader, ms);
PdfStamper stamper1 = new PdfStamper(pdfReader1, new System.IO.FileStream(fileName, FileMode.Create, FileAccess.Write));
for (int p = 1; p <= pdfReader1.NumberOfPages; p++)
{
Rectangle mediabox = pdfReader1.GetPageSize(1);
Rectangle cropbox = pdfReader1.GetCropBox(1);
Rectangle r1 = pdfReader1.GetBoxSize(1, "media");
PdfDictionary page1 = pdfReader1.GetPageN(1);
Rectangle pagesize = pdfReader1.GetPageSizeWithRotation(page1);
if (arotiraj.IsChecked == true)
{
if (pagesize.Left - pagesize.Right > 300)
{
if (pagesize.Left - pagesize.Right < pagesize.Top - pagesize.Bottom)
{
page1.Put(PdfName.ROTATE, new PdfNumber(90));
}
}
}
}
stamper1.Close();
pdfReader1.Close();
}
}
問題は、長方形のページサイズが未切断サイズになるということです。私は何をしていますか?
ブルーノは答えてくれてありがとう。私は今、ループミスについて、テスト目的でattencionalyに作られました。 obreziPDF()は仕事と作物のページを行います(acrobatでは白い余白を取り除いています) - 私はAcrobat Readerでそれを見ました。しかし、okreniPDF()がディメンションを要求するとき、obreziPDF()が切り抜かれたものではなくオリジナルのディメンションを取得します。 – Krkec
質問を整理してください。ループ内のページで行ったエラーは、間違いであり、最初の答えとして期待していたはずです。また、 'mediabox'や' cropbox'のような変数は 'okreniPDF()'では使われません。また、元の寸法が取得されたことをどのように知っていますか?あなたは決してそれらをチェックしない。私は、あなたの問題はあなたのコードがうんざりしていると思う。それをきれいにして、あなたの質問を改善してください:なぜあなたは間違った次元が取り出されたと思いますか?あなたの質問からは分かりません。 –
get page sizeメソッドが返すものの解釈が間違っていると思います。 http:// stackoverflowを読んだことがありますか?com/a/23356772/1622493 –