PDF ファイルのページ コンテンツのサイズを変更する必要があります。ファイル サイズの縮小とは関係ありません。横向きモードで小冊子として印刷できるようにするには、1 つの画像である各ページ コンテンツを縮小する必要があります。そのため、各ページ コンテンツの高さと幅を縮小する必要があります。
私はc#でiTextSharpを使用しています
PDF ファイルのページ コンテンツのサイズを変更する必要があります。ファイル サイズの縮小とは関係ありません。横向きモードで小冊子として印刷できるようにするには、1 つの画像である各ページ コンテンツを縮小する必要があります。そのため、各ページ コンテンツの高さと幅を縮小する必要があります。
私はc#でiTextSharpを使用しています
最も簡単な方法は、問題のページのデフォルトのユーザー空間ユニットのサイズを変更することです。
デフォルトのユーザー空間単位は、ページ ディクショナリ エントリ/UserUnitを使用して、ページごとに構成できます。PDF 仕様ISO 32000-1:2008の表 30 :
UserUnit number (オプション; PDF 1.6)デフォルトのユーザー空間単位のサイズを 1⁄72 インチの倍数で示す正の数。サポートされる値の範囲は、実装に依存するものとします。
デフォルト値: 1.0 (ユーザー空間単位は 1⁄72 インチ)。
したがって、PDF ファイルの PdfReader の PdfStamper を作成し、ページ辞書を反復処理し、現在の/UserUnit値 (デフォルト: 1.0) を読み取り、必要に応じて縮小し、書き戻し、ページ辞書にマークを付けるだけです。 PdfStamper の結果を書き込みます。
コンテンツをドキュメントに追加し、SetPageSizeプロパティを使用してドキュメントページを横向きに設定してみてください。
ページをLandscapeに設定するコードは次のとおりです
。Documentdocument=new Document();
document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
//コンテンツを追加します
PdfPTabletable= new PdfPTable(1);
PdfPCellセル=newPdfPCell(new Phrase( "Some test text"));
cell.HorizontalAlignment = 1; // 0 =左、1 =中央、2 =右
table.AddCell(cell);