手短に
電子メールで送信されるPDF は、アップロードされた PDFに基づいています。変更点は、元のドキュメント (アップロードされた PDF) に 2 つの注釈が含まれていることです。変更されたドキュメント (電子メールで送信された PDF) ではフラット化されています。つまり、代わりにページ コンテンツに格納されています。
残念ながら、そのフラット化を行うソフトウェアは、既存のページ コンテンツで変換マトリックスが変更 (回転) されているという事実を無視して、ページ コンテンツに注釈の外観を表示するためのコマンドを追加するだけでした。したがって、折丁もフォームの平坦化後に回転されます。
したがって、このフォームの平坦化を行うソフトウェアを修復する必要があります (変換行列が実際に変更された可能性があることを考慮せずにコンテンツに単純に追加することはできません!)。
ただし、短期的な解決策として (平坦化を行うソフトウェアを簡単に置き換えることができない場合)、横長の PDF を作成するために回転を使用しない基本 PDF の使用を検討することをお勧めします。
iText(Sharp) で作成されたドキュメント (質問で言及) の場合、これは使用を意味する可能性があります
new Document(new Rectangle(792, 612));
(iText(Sharp) サンプルHelloWorldLandscape2.java / HelloWorldLandscape2.csを参照)
それ以外の
new Document(PageSize.LETTER.Rotate()));
(cf. iText(Sharp) サンプルHelloWorldLandscape1.java / HelloWorldLandscape1.cs )
iText in Action — 第 2 版 で説明されているように、
PDF を操作する場合に問題となる内部的な微妙な違いがあります。
詳細に
元の PDF では、ページ ディクショナリは注釈によって署名を参照します。
3 0 obj
<<
/Type/Page
/Parent 2 0 R
/MediaBox[ 0 0 612 792]
/Rotate 270
/Contents 5 0 R
/Resources<</Font<</F1 4 0 R>>/ProcSet[/PDF/Text]>>
/Annots 11 0 R
>>
endobj
11 0 obj
[ 12 0 R 15 0 R 16 0 R 19 0 R]
endobj
オブジェクト12および16は、それぞれオブジェクト14および18内の外観ストリームを参照するインク注釈である。
オブジェクト 5 セットのコンテンツ ストリーム
0.0000 -1.0000 1.0000 0.0000 0.0000 0.0000 cm
ご覧のように、ページが回転され ( /Rotate 270 )、コンテンツ ストリームが反対方向に回転され ( 0 -1 1 0 0 0 cm )、正立印刷が可能になります。ただし、注釈の外観ストリームは、この逆回転の影響を受けないため、内部でそれを行います。
フラット化されたページでは、次のようになります
3 0 obj
<<
/Type/Page
/Parent 2 0 R
/MediaBox[ 0 0 612 792]
/Rotate 270
/Resources
<<
/Font<</F1 4 0 R>>
/ProcSet[/PDF/Text]
/XObject<</CprRpt2 14 0 R/CprRpt3 18 0 R>>
>>
/Annots 11 0 R
/Contents[ 5 0 R 20 0 R]>>
endobj
11 0 obj
[]
endobj
オブジェクト 20 のコンテンツ ストリームには、
q 1 0 0 1 223.453 24.0703 cm /CprRpt2 Do Q
q 1 0 0 1 410.246 59.9062 cm /CprRpt3 Do Q
そのため、注釈は削除されますが (オブジェクト 11 の空の配列)、代わりにインク注釈の外観ストリームがコンテンツ ストリーム自体に直接含まれるようになりました ( /CprRpt2 Doおよび/CprRpt3 Doは、 Resources内のオブジェクト 14 および 18 を参照するように定義されています) 。 .
したがって、ストリーム 20 はコンテンツ ストリーム配列[ 5 0 R 20 0 R]のストリーム 5 の後にあるため、これらの外観ストリームは、オブジェクト 5 ( 0 -1 1 0 0 0 cm )からの回転変換行列の対象になります。ただし、それらは(上記を参照)ページの回転自体を打ち消します. したがって、本質的に、それらの回転は 2 回打ち消され、反対方向に回転されます。