インターネットの力であらゆるものがデジタル化し、ペーパーレスシステムがますます普及しています。デジタル ドキュメント (PDF など) は、自動生成と処理を提供することで作業を容易にするペーパーレス システムに不可欠な部分です。ほとんどの企業は PDF ドキュメントの自動化を使用して、レポート、領収書、請求書、その他のビジネス ドキュメントを動的に生成します。
PDF ファイルを作成するには、PDF ドキュメントをプログラムで操作できるネイティブ C++ ライブラリであるAspose.PDF for C++ APIを使用します。さまざまな PDF 要素をサポートして、インタラクティブな PDF ドキュメントを作成できます。
この記事では、C++ ベースのアプリケーションに PDF オートメーションの機能を統合する方法と、C++ を使用して PDF ファイルを動的に生成する方法を説明します。
C++ で簡単な PDF ファイルを作成する
まず、単純な PDF ファイルを作成し、段落の最初のページにテキストを追加します。従うべき手順は次のとおりです。
- Document オブジェクトを作成します。
- ページをドキュメントの PageCollection に追加します。
- ページの段落を取得します。
- TextFragment オブジェクトを作成し、段落に追加します。
- PDF ドキュメントを保存します。
次のコード サンプルは、C++ で PDF ドキュメントを作成する方法を示しています。
// ドキュメントを作成します auto doc = MakeObject(); 自動ページ = doc->get_Pages(); ページ->Add(); // ページの番号付けは 1 から始まります auto page = pages->idx_get(1); auto paragraps = page->get_Paragraphs(); // テキスト フラグメントを作成します auto text = MakeObject(u"PDF API for C++"); auto ts = text->get_TextState(); // テキストの状態を設定 ts->set_FontSize(16); ts->set_FontStyle(FontStyles::Italic); // 段落に追加 paragraps->Add(text); // テキストを段落に追加します paragraps->Add(MakeObject(u"この例では、Aspose.PDF for C++ を使用してテキストを含む PDF を作成する方法を示します。")); // PDF ファイルを保存 doc->Save(u"Example1.
入力HTMLファイル
C++ で TextBuilder を使用して PDF ファイルを作成する
このセクションでは、TextBuilder クラスを使用して、さまざまなテキストの断片や段落をページに添付する方法を説明します。また、この例では、ページ上のテキストフラグメントの位置を設定する方法を学びます。これを行う手順は次のとおりです。
- Document オブジェクトを作成します。
- ドキュメントにページを追加します。
- TextBuilder オブジェクトを作成します。
- TextFragment を作成し、そのテキストを追加します。
- TextFragmentの位置を設定します。
- 追加TextFragment使用TextBuilder。
- PDF ドキュメントを保存します。
次のコード サンプルは、C++ で TextBuilder を使用して PDF を作成する方法を示しています。
// Document オブジェクトを作成します auto doc = MakeObject(); 自動ページ = doc->get_Pages(); ページ->Add(); // TextBuilder を作成します auto tb = MakeObject(pages->idx_get(1)); // TextFragment の 自動テキストを作成します = MakeObject(u"Hello world!"); text->set_Position(MakeObject(100, 800)); // TextFragment を追加 tb->AppendText(text); // 別の TextFragment を作成します text = MakeObject(u"この例は、Aspose.Pdf for C++ によって作成されています。"); text->set_Position(MakeObject(150, 750)); tb->AppendText(テキスト); // 別の TextFragment を作成します text = MakeObject(u"TextBuilder を使用して PDF ファイルにテキストを追加する方法を示します。"); text->set_Position(MakeObject(200, 700)); tb->AppendText(テキスト); // TextParagraph を作成します auto par = MakeObject(); par->set_Position(MakeObject(250,650)); par->AppendLine(u"新しい段落"); par->AppendLine(u"行 2"); par->AppendLine(u"行 3"); tb->AppendParagraph(par); // PDF ドキュメントを保存 doc->Save(u"Created PDF.pdf");
入力HTMLファイル
C++ で画像を含む PDF ファイルを作成する
Aspose.PDF for C++ を使用して画像を作成し、PDF ドキュメントに画像を追加します。これを行う手順は次のとおりです。
- Document オブジェクトを作成します。
- ドキュメントにページを追加します。
- 追加する画像を作成します。
- PDF ファイルに画像を追加します。
- PDF ファイルを保存します。
次のコード サンプルは、C++ で画像を作成して PDF ドキュメントに追加する方法を示しています。
// Document オブジェクトを作成します auto doc = MakeObject(); 自動ページ = doc->get_Pages(); ページ->Add(); 自動ページ = ページ->idx_get(1); // 画像の 自動ストリームを作成 = MakeObject(); SharedPtrbitmap = MakeObject(200, 200); SharedPtrgraphics = Graphics::FromImage(ビットマップ); グラフィックス->Clear(System::Drawing::Color::get_Yellow()); graphics->FillRectangle(Brushes::get_Blue(), System::Drawing::Rectangle(0, 0, 200, 100)); bitmap->Save(stream, Imaging::ImageFormat::get_Bmp()); // 長方形を作成します double x = 100.0、y = 600.0、幅 = 200.0、高さ = 200.0; auto rect = MakeObject(x, y, x + 幅, y + 高さ); // 画像を PDF に追加 stream->Seek(0, System::IO::SeekOrigin::Begin); ページ->AddImage(ストリーム, レククト); // PDF ドキュメントを保存 doc->Save(u"Created PDF.pdf");
入力HTMLファイル
C++ を使用して添付ファイル付きの PDF ファイルを作成する
PDF 形式では、ドキュメントに添付ファイルを追加することもできます。さまざまなファイル形式を PDF ファイルに添付ファイルとして追加できます。Aspose.PDF for C++ を使用して PDF にファイルを埋め込む手順は次のとおりです。
- SharedPtrに追加するファイルをロードします。
- Documentクラスのオブジェクトを作成します。
- ファイルをドキュメントに埋め込みます。
- PDF ファイルを保存します。
次のコード サンプルは、C++ で PDF ドキュメントに添付ファイルを追加する方法を示しています。
// テキスト ファイルを作成します System::IO::File::WriteAllText(u"Attachment.txt", u"Some info"); SharedPtrfileSpec = MakeObject(u"Attachment.txt", u"サンプル テキスト ファイル"); // ドキュメントの添付ファイル コレクションに添付ファイルを追加します auto doc = MakeObject(); doc->get_EmbeddedFiles()->Add(fileSpecific); // PDF にページを追加 doc->get_Pages()->Add(); // PDF ドキュメントを保存 doc->Save(u"Created PDF.pdf");
入力HTMLファイル