コンテンツとは別に、PDF ファイルにはいくつかの追加情報がドキュメントプロパティの形式で保持されます。これらのプロパティにより、ドキュメントのさまざまな属性がまとめて定義されます。
DioDocs for PDF では、次のドキュメントプロパティが GcPdfDocument クラスを通して提供されます。
特定の PDF ドキュメントからドキュメントプロパティを取得するには
C# |
コードのコピー
|
---|---|
static void Main(string[] args) { // FileStreamを使用して既存のPDFをロードします FileStream fileStream = File.OpenRead(args[0].ToString()); GcPdfDocument doc = new GcPdfDocument(); doc.Load(fileStream, null); // プロパティの値を取得して表示します Console.WriteLine("このドキュメントの作成者は {0} です", doc.DocumentInfo.Author); Console.WriteLine("このドキュメントのサブタイトルは {0} です", doc.DocumentInfo.Subject); Console.WriteLine("このドキュメントのタイトルは {0} です", doc.DocumentInfo.Title); } |
PDF ドキュメントの生成中にドキュメントプロパティを設定するには
C# |
コードのコピー
|
---|---|
public void PDFDoc(Stream stream) { const float In = 150; // 新しいPDF文書を作成します var doc = new GcPdfDocument(); var page = doc.NewPage(); var g = page.Graphics; var tf = new TextFormat() { Font = StandardFonts.Times, FontSize = 12 }; // PDFのバージョンを指定します doc.PdfVersion = "1.7"; doc.DocumentInfo.Title = "GcPdf Document Info Sample"; doc.DocumentInfo.Author = "John Doe"; doc.DocumentInfo.Subject = "GcPdfDocument.DocumentInfo"; doc.DocumentInfo.Producer = "GcPdfWeb Producer"; doc.DocumentInfo.Creator = "GcPdfWeb Creator"; // 作成日時を設定します doc.DocumentInfo.CreationDate = DateTime.Today; // ドキュメントメタデータは、GcPdfDocument.Metadataプロパティを介して利用できます // これは、以下のようないくつかの事前定義されているアクセサを提供します doc.Metadata.Contributors.Add("contributor 1"); doc.Metadata.Contributors.Add("contributor 2"); doc.Metadata.Copyright = "GrapeCity Inc."; doc.Metadata.Creators.Add("作成者 1"); doc.Metadata.Creators.Add("作成者 2"); doc.Metadata.Description = "ドキュメントのサンプル説明"; doc.Metadata.Keywords.Add("キーワード1"); doc.Metadata.Keywords.Add("キーワード2"); doc.Metadata.Source = "Sourced by GcPdfWeb"; // 最後に、ドキュメントにテキストを追加してドキュメントを保存します g.DrawString("1. テスト文字列。 これはサンプルテキストです。",tf, new PointF(In, In)); doc.Save(stream); } |
GcPdfDocument クラスの RemoveDuplicateImages メソッドを使用して、ドキュメントのサイズを効率的に縮小できます。このメソッドは、ドキュメント内にある同一画像の重複インスタンスを排除し、1つのインスタンスのみを複数の場所で保持します。これにより、ドキュメントのサイズが縮小されます。
次のサンプルコードは、RemoveDuplicateImages メソッドを使用してドキュメントのファイルサイズを最適化する方法を示します。
C# |
コードのコピー
|
---|---|
// GcPDFDocumentを初期化します GcPdfDocument doc = new GcPdfDocument(); // ファイル ストリームで PDF ドキュメントを開きます FileStream fs = File.OpenRead("Invoice.pdf"); // ドキュメントをロードします doc.Load(fs); // 重複画像を削除します doc.RemoveDuplicateImages(); // PDF ドキュメントを保存します doc.Save("RemovedDuplicateImages.pdf"); |
2つのPDFドキュメントを1つのドキュメントに結合するには、GcPdfDocument クラスの MergeWithDocument メソッドを使用します。
C# |
コードのコピー
|
---|---|
//PDFを作成します GcPdfDocument doc1 = new GcPdfDocument(); GcPdfGraphics g = doc1.NewPage().Graphics; g.DrawString("Hello World!", new TextFormat() { Font = StandardFonts.Times, FontSize = 12 }, new PointF(72, 72)); //2枚目のPDFを作成します GcPdfDocument doc2 = new GcPdfDocument(); GcPdfGraphics g1 = doc2.NewPage().Graphics; g1.DrawString("このPDFは別のPDFに結合されます。", new TextFormat() { Font = StandardFonts.Times, FontSize = 12 }, new PointF(72, 72)); //2つのドキュメントを結合します doc1.MergeWithDocument(doc2, new MergeDocumentOptions()); doc1.Save("MergedDocument.pdf"); |
MergeDocumentOptions クラスの RemoveDuplicateImages プロパティを使用して、PDFドキュメントを結合する際に同一画像の重複インスタンスを削除できます。重複インスタンスを削除することで、結合されたPDFドキュメントのサイズを縮小できます。RemoveDuplicateImages プロパティのデフォルト値は false です。
RemoveDuplicateImages プロパティは 、RemoveDuplicateImages メソッドを呼び出し、結合中に重複インスタンスをスキャンするため、結合のパフォーマンスに影響します。これを避けるには、まずドキュメントを結合してから、RemoveDuplicateImages メソッドを使用して同じ画像の重複インスタンスを削除できます。詳細については、「ドキュメントサイズの最適化」を参照してください。
次のサンプルコードは、RemoveDuplicateImagesメソッドを使用して結合されたPDFドキュメントから同じ画像の重複インスタンスを削除する方法を示します。
C# |
コードのコピー
|
---|---|
// 最初の PDF ドキュメントの GcPdfDocument を初期化します GcPdfDocument doc1 = new GcPdfDocument(); // ファイルストリームで最初のPDFドキュメントを開きます FileStream fs1 = File.OpenRead("Invoice_Jan.pdf"); // PDFドキュメントをロードします doc1.Load(fs1); // 2番目のPDFドキュメントの GcPdfDocument を初期化します GcPdfDocument doc2 = new GcPdfDocument(); // ファイルストリームで2番目のPDFドキュメントを開きます FileStream fs2 = File.OpenRead("Invoice_Feb.pdf"); // 2番目のPDFドキュメントをロードします doc2.Load(fs2); // PDFドキュメントを現在のドキュメントに結合します doc1.MergeWithDocument(doc2); // 重複画像を削除します doc1.RemoveDuplicateImages(); // PDFドキュメントを保存します doc1.Save("Merged.pdf"); |
DioDocs for PDFに用意されたdocument.Redactメソッドにより、PDFドキュメントに墨消しを適用してドキュメントからコンテンツを削除できます。墨消しを適用するには、まずは、PDFドキュメントに削除対象のコンテンツを表す墨消し注釈を追加します。そして、document.Redactメソッドを使用してそのコンテンツを削除します。墨消し注釈の適用方法の詳細については、注釈の種類を参照してください。