C++版PDF处理控件Aspose.PDF功能演示:使用PDF API for C ++动态创建PDF文件

借助Internet的力量,一切都变得数字化,无纸化系统变得越来越流行。数字文档(即PDF)是无纸化系统的组成部分,这些无纸化系统通过提供自动生成和处理功能使生活变得更加轻松。大多数企业使用PDF文档自动化来动态生成报告,收据,发票和其他业务文档。

为了创建PDF文件,我们将使用Aspose.PDF for C ++ API,这是一个本机C ++库,可以以编程方式处理PDF文档。它可以在各种PDF元素的支持下创建交互式PDF文档。

在本文中,我将演示如何在基于C ++的应用程序中集成PDF自动化的功能,以及如何使用C ++动态生成PDF文件。


用C ++创建一个简单的PDF文件

首先,我们将创建一个简单的PDF文件,并以段落形式在首页添加一些文本。以下是要遵循的步骤:

  • 创建一个Document对象。
  • 将页面添加到Document的PageCollection中。
  • 获取页面的段落。
  • 创建一个TextFragment对象,并将其添加到段落中。
  • 保存PDF文档。

以下代码示例显示了如何在C ++中创建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创建PDF文件

在本节中,我将向您展示如何使用TextBuilder类在页面上附加各种文本片段和段落。此外,在此示例中,您将学习如何设置文本片段在页面上的位置。以下是执行此操作的步骤:

  • 创建一个Document对象。
  • 在文档中添加页面。
  • 创建一个TextBuilder对象。
  • 创建一个TextFragment并添加其文本。
  • 设置TextFragment的位置。
  • 追加TextFragment使用TextBuilder。
  • 保存PDF文档。

以下代码示例显示了如何使用C ++中的TextBuilder创建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 ++创建带有图像的PDF文件

使用Aspose.PDF for C ++创建图像并将图像添加到PDF文档。以下是执行此操作的步骤:

  • 创建一个Document对象。
  • 在文档中添加页面。
  • 创建要添加的图像。
  • 将图像添加到PDF文件。
  • 保存PDF文件。

以下代码示例显示了如何在C ++中创建图像并将其添加到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 ++创建带有附件的PDF文件

PDF格式还允许将附件添加到文档中。可以将多种文件格式作为附件添加到PDF文件中。以下是使用Aspose.PDF for C ++将文件嵌入PDF的步骤:

  • 加载要附加到SharedPtr中的文件。
  • 创建一个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文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值