C++版PDF處理控件Aspose.PDF功能演示:使用PDF API for C ++動態(tài)創(chuàng)建PDF文件
借助Internet的力量,一切都變得數(shù)字化,無紙化系統(tǒng)變得越來越流行。數(shù)字文檔(即PDF)是無紙化系統(tǒng)的組成部分,這些無紙化系統(tǒng)通過提供自動生成和處理功能使生活變得更加輕松。大多數(shù)企業(yè)使用PDF文檔自動化來動態(tài)生成報告,收據(jù),發(fā)票和其他業(yè)務(wù)文檔。
為了創(chuàng)建PDF文件,我們將使用Aspose.PDF for C ++ API,這是一個本機C ++庫,可以以編程方式處理PDF文檔。它可以在各種PDF元素的支持下創(chuàng)建交互式PDF文檔。
在本文中,我將演示如何在基于C ++的應(yīng)用程序中集成PDF自動化的功能,以及如何使用C ++動態(tài)生成PDF文件。
用C ++創(chuàng)建一個簡單的PDF文件
首先,我們將創(chuàng)建一個簡單的PDF文件,并以段落形式在首頁添加一些文本。以下是要遵循的步驟:
- 創(chuàng)建一個Document對象。
- 將頁面添加到Document的PageCollection中。
- 獲取頁面的段落。
- 創(chuàng)建一個TextFragment對象,并將其添加到段落中。
- 保存PDF文檔。
以下代碼示例顯示了如何在C ++中創(chuàng)建PDF文檔。
// Create document auto doc = MakeObject(); auto pages = doc->get_Pages(); pages->Add(); // Numeration of Pages starts from 1 auto page = pages->idx_get(1); auto paragraps = page->get_Paragraphs(); // Create text fragment auto text = MakeObject(u"PDF API for C++"); auto ts = text->get_TextState(); // Set text state ts->set_FontSize(16); ts->set_FontStyle(FontStyles::Italic); // Add to paragraph paragraps->Add(text); // Add text to paragraph paragraps->Add(MakeObject(u"This example shows how to create a PDF with text using Aspose.PDF for C++.")); // Save PDF file doc->Save(u"Example1.pdf");
輸入HTML文件
在C ++中使用TextBuilder創(chuàng)建PDF文件
在本節(jié)中,我將向您展示如何使用TextBuilder類在頁面上附加各種文本片段和段落。此外,在此示例中,您將學習如何設(shè)置文本片段在頁面上的位置。以下是執(zhí)行此操作的步驟:
- 創(chuàng)建一個Document對象。
- 在文檔中添加頁面。
- 創(chuàng)建一個TextBuilder對象。
- 創(chuàng)建一個TextFragment并添加其文本。
- 設(shè)置TextFragment的位置。
- 追加TextFragment使用TextBuilder。
- 保存PDF文檔。
以下代碼示例顯示了如何使用C ++中的TextBuilder創(chuàng)建PDF 。
// Create Document object auto doc = MakeObject(); auto pages = doc->get_Pages(); pages->Add(); // Create TextBuilder auto tb = MakeObject(pages->idx_get(1)); // Create TextFragment auto text = MakeObject(u"Hello world!"); text->set_Position(MakeObject(100, 800)); // Append TextFragment tb->AppendText(text); // Create another TextFragment text = MakeObject(u"This example is created by Aspose.Pdf for C++."); text->set_Position(MakeObject(150, 750)); tb->AppendText(text); // Create another TextFragment text = MakeObject(u"It demonstrates how to use TextBuilder to append text into PDF file."); text->set_Position(MakeObject(200, 700)); tb->AppendText(text); // Create TextParagraph auto par = MakeObject(); par->set_Position(MakeObject(250,650)); par->AppendLine(u"New paragraph"); par->AppendLine(u"Line 2"); par->AppendLine(u"Line 3"); tb->AppendParagraph(par); // Save PDF document doc->Save(u"Created PDF.pdf");
輸入HTML文件
用C ++創(chuàng)建帶有圖像的PDF文件
使用Aspose.PDF for C ++創(chuàng)建圖像并將圖像添加到PDF文檔。以下是執(zhí)行此操作的步驟:
- 創(chuàng)建一個Document對象。
- 在文檔中添加頁面。
- 創(chuàng)建要添加的圖像。
- 將圖像添加到PDF文件。
- 保存PDF文件。
以下代碼示例顯示了如何在C ++中創(chuàng)建圖像并將其添加到PDF文檔。
// Create Document object auto doc = MakeObject(); auto pages = doc->get_Pages(); pages->Add(); auto page = pages->idx_get(1); // Create an image auto stream = MakeObject(); SharedPtrbitmap = MakeObject(200, 200); SharedPtrgraphics = Graphics::FromImage(bitmap); graphics->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()); // Create rectangle double x = 100.0, y = 600.0, width = 200.0, height = 200.0; auto rect = MakeObject(x, y, x + width, y + height); // Add image to PDF stream->Seek(0, System::IO::SeekOrigin::Begin); page->AddImage(stream, rect); // Save PDF document doc->Save(u"Created PDF.pdf");
輸入HTML文件
使用C ++創(chuàng)建帶有附件的PDF文件
PDF格式還允許將附件添加到文檔中??梢詫⒍喾N文件格式作為附件添加到PDF文件中。以下是使用Aspose.PDF for C ++將文件嵌入PDF的步驟:
- 加載要附加到SharedPtr中的文件。
- 創(chuàng)建一個Document類的對象。
- 將文件嵌入到文檔中。
- 保存PDF文件。
以下代碼示例顯示了如何在C ++中向PDF文檔添加附件。
// Create a text file System::IO::File::WriteAllText(u"Attachment.txt", u"Some info"); SharedPtrfileSpecification = MakeObject(u"Attachment.txt", u"Sample text file"); // Add attachment to document's attachment collection auto doc = MakeObject(); doc->get_EmbeddedFiles()->Add(fileSpecification); // Add a page to PDF doc->get_Pages()->Add(); // Save PDF document doc->Save(u"Created PDF.pdf");
輸入HTML文件
還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。