質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

Q&A

解決済

1回答

2816閲覧

iTextを利用したPDF各ページ単位の90度回転と保存方法について

sakumi

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

PDF

PDF(Portable Document Format)とはISOによって国際標準として制定されている電子ドキュメント用の拡張子です。

0グッド

0クリップ

投稿2018/09/10 04:37

お世話になっております。

iTextについて質問させていただきます。

【やりたいこと】
iTextを利用したPDF各ページ単位の90度回転と保存方法について

【試したこと】
こちらのサイトを参考に以下コードを試しました。。
https://developers.itextpdf.com/question/how-rotate-page-90-degrees

     String fileName = ファイルの置き場所 PdfReader reader = new PdfReader(fileName); int n = reader.getNumberOfPages(); PdfDictionary page; PdfNumber rotate; for (int p = 1; p <= n; p++) { page = reader.getPageN(p); rotate = page.getAsNumber(PdfName.ROTATE); if (rotate == null) { page.put(PdfName.ROTATE, new PdfNumber(90)); } else { page.put(PdfName.ROTATE, new PdfNumber((rotate.intValue() + 90) % 360)); } } reader.close();

【問題点】
上記で試した結果、エラーは出ず。PDFページが全て回転せず、元のままでした。

ご存知の方はご教示いただけると幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

時間がなかったため、悔しいですがiTextは使わず下記コードで対応しました。

PDDocument doc = null; doc = PDDocument.load(new File(ファイル名); PDPage page = doc.getPage(0); page.setRotation(90); File pdfFile = new File(ファイル名); doc.save(pdfFile); doc.close();

投稿2018/09/10 08:20

sakumi

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mdj

2018/09/10 08:30

そちらのページを確認しました。 上記ソース後に「Once this is done, we use a PdfStamper to persist the change:」とあります。 google翻訳で翻訳すると「これが完了したら、PdfStamperを使用して変更を保持します。」となりました。 端折りますが、PdfReaderは「読み込み」のみです。保存はできません。PdfStamperで新規作成することになります。
sakumi

2018/09/10 08:43

module_jung様 度々ありがとうございます。 PdfReaderは保存は出来ないのですね。なのでPdfStamperを使って保持するということでしょうか。 時間が空き次第、ご教示いただいた内容で試してみようと思います。 貴重なお時間を頂きましてありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問