HTML is a markup language for creating websites or other web applications. In daily work, you might need to convert HTML to images for various reasons, such as creating thumbnails of web pages to use in search engine results pages or social media posts, generating snapshots of your html files for archiving or other purposes, and so on. In this article, you will learn how to convert Html to JPG, PNG, or BMP images in C++ using Spire.Doc for C++.

Install Spire.Doc for C++

There are two ways to integrate Spire.Doc for C++ into your application. One way is to install it through NuGet, and the other way is to download the package from our website and copy the libraries into your program. Installation via NuGet is simpler and more recommended. You can find more details by visiting the following link.

Integrate Spire.Doc for C++ in a C++ Application

Convert HTML to JPG, PNG and BMP Images in C++

To complete the task, you’ll need to load an HTML file first and then convert it to images using Document->SaveImageToStreams() method. These images can also be further saved as JPEG, PNG, BMP, EMF, GIF or WMF image formats. The following are the detailed steps.

  • Create a Document instance.
  • Load a sample html file using Document->LoadFromFile(LPCWSTR_S filename, FileFormat::Html, XHTMLValidationType::None) method.
  • Convert the html file to an image stream using Document->SaveImageToStreams() method.
  • Convert the image stream to an Image object using Image::FromStream(intrusive_ptr<Stream> stream) method.
  • Save the Image object as a JPEG, PNG, BMP, or other image formats using Image->Save(LPCWSTR_S filename, ImageFormat format) method.
  • C++
#include "Spire.Doc.o.h"

using namespace std;
using namespace Spire::Doc;

int main() {
	//Specify the input file path
	wstring inputFile = L"Data\\sample.html";

	//Create a Document instance
	intrusive_ptr<Document> document = new Document();

	//Load a sample html file from disk
	document->LoadFromFile(inputFile.c_str(), FileFormat::Html, XHTMLValidationType::None);

	//Convert the html to image streams
	intrusive_ptr<Stream> imageStream = document->SaveImageToStreams(0,ImageType::Bitmap);

	//Save the image stream as a PNG, JPG or BMP image
	intrusive_ptr<Image> image = Image::FromStream(imageStream);
	image->Save(L"HtmlToPNG.png", ImageFormat::GetPng());
	image->Save(L"HtmlToJPG.jpg", ImageFormat::GetJpeg());
	image->Save(L"HtmlToImage.bmp", ImageFormat::GetBmp());
	document->Close();
	imageStream->Dispose();
}

C++: Convert HTML to Images (JPG, PNG, BMP)

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.

Published in Conversion

Converting a Word document to images can have several benefits. Firstly, it enables you to preserve the original formatting and layout of the document, which is especially useful when sharing the document on different devices or systems. Secondly, it prevents unauthorized changes to the content, which ensures the document's integrity. Lastly, converting a Word document to images makes the content accessible for people who do not have access to Microsoft Word. In this article, we will explain how to convert Word documents to images in C++ using Spire.Doc for C++.

Install Spire.Doc for C++

There are two ways to integrate Spire.Doc for C++ into your application. One way is to install it through NuGet, and the other way is to download the package from our website and copy the libraries into your program. Installation via NuGet is simpler and more recommended. You can find more details by visiting the following link.

Integrate Spire.Doc for C++ in a C++ Application

Convert a Word Document to JPEG, PNG or BMP Images in C++

Spire.Doc for C++ offers the Document->SaveImageToStreams(ImageType type) method which enables you to convert a Word document to a vector of image streams. Then you can iterate through the vector of image streams, and save each image stream to an image file such as a JPEG file, a PNG file, or a BMP file. The detailed steps are as follows:

  • Initialize an instance of the Document class.
  • Load a Word document using the Document->LoadFromFile(LPCWSTR_S fileName) method.
  • Convert the Word document to a vector of image streams using the Document->SaveImageToStreams(ImageType type) method.
  • Iterate through the vector of image streams.
  • Convert each image stream to an Image object using the Image::FromStream(intrusive_ptr<Stream> stream) method.
  • Save the Image object to a JPEG, PNG, BMP, or another type of image file using the Image->Save(LPCWSTR_S filename, intrusive_ptr<ImageFormat> format) method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main()
{
	//Initialize an instance of the Document class
	intrusive_ptr<Document> document = new Document();
	//Load a Word document
	document->LoadFromFile(L"Input.docx");

	//Convert the Word document to image streams and store the result in a vector
	std::vector<intrusive_ptr<Stream>> images = document->SaveImageToStreams(ImageType::Bitmap);

	//Iterate through the vector of image streams
	for (int i = 0; i < images.size(); i++)
	{
		//Save each image stream to a PNG image
		std::vector<byte> imgBytes = images[i]->ToArray();
		std::ofstream outFile(L"Document\\" + to_wstring(i) + L".png", std::ios::binary);
		if (outFile.is_open())
		{
			outFile.write(reinterpret_cast<const char*>(imgBytes.data()), imgBytes.size());
			outFile.close();
		}

	}

	document->Close();
}

C++: Convert Word Documents to Images (JPEG, PNG, BMP, SVG)

Convert a Specific Page of a Word Document to JPEG, PNG or BMP Images in C++

In addition to converting a whole Word document to images, Spire.Doc for C++ also enables you to convert a specific page of a Word document to an image by using the Document->SaveImageToStreams(int pageIndex, ImageType type) method. The detailed steps are as follows:

  • Initialize an instance of the Document class.
  • Load a Word document using the Document->LoadFromFile(LPCWSTR_S fileName) method.
  • Convert a specific page of the Word document to an image stream using the Document->SaveImageToStreams(int pageIndex, ImageType type) method.
  • Convert the image stream to an Image object using the Image::FromStream(intrusive_ptr<Stream> stream) method.
  • Save the Image object to a JPEG, PNG, BMP, or another type of image file using the Image->Save(LPCWSTR_S filename, intrusive_ptr<ImageFormat> format) method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main()
{
	//Initialize an instance of the Document class
	intrusive_ptr<Document> document = new Document();
	//Load a Word document
	document->LoadFromFile(L"Input.docx");

	//Convert the first page of the Word document to a image stream
	intrusive_ptr<Stream> imageStream = document->SaveImageToStreams(0, ImageType::Bitmap);

	//Obtain image data in the default format of png, you can use it to convert other image format
	std::vector<byte> imgBytes = imageStream->ToArray();
	std::ofstream outFile(L"Page\\ToImage.png", std::ios::binary);
	if (outFile.is_open())
	{
		outFile.write(reinterpret_cast<const char*>(imgBytes.data()), imgBytes.size());
		outFile.close();
	}

	document->Close();
	imageStream->Dispose();
}

C++: Convert Word Documents to Images (JPEG, PNG, BMP, SVG)

Convert a Word Document to SVG Images in C++

You can convert a Word document to SVG images easily by using the Document->SaveToFile(LPCWSTR_S fileName, FileFormat fileFormat) method. The detailed steps are as follows:

  • Initialize an instance of the Document class.
  • Load a Word document using the Document->LoadFromFile(LPCWSTR_S fileName) method.
  • Save the document to SVG images using the Document->SaveToFile(LPCWSTR_S fileName, FileFormat fileFormat) method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main()
{
	//Initialize an instance of the Document class
	intrusive_ptr<Document> document = new Document();
	//Load a Word document
	document->LoadFromFile(L"Input.docx");

	wstring fileName = L"SVG\\ToSvg.svg";
	//Save the document to SVG images
	document->SaveToFile(fileName.c_str(), FileFormat::SVG);
	document->Close();
}

C++: Convert Word Documents to Images (JPEG, PNG, BMP, SVG)

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.

Published in Conversion
Friday, 24 February 2023 00:57

C++: Convert Word to PDF

PDF is one of the most versatile, universal and feature-rich file formats in use today. Compared to Word, PDF documents are less likely to lose formatting when they’re opened on various devices. Additionally, PDF has absolute advantages over Word in terms of document security, archiving and transmission. These are some of the reasons why we should convert Word to PDF. In this article, you will learn how to convert Word to PDF and how to set conversion options in C++ using Spire.Doc for C++.

Install Spire.Doc for C++

There are two ways to integrate Spire.Doc for C++ into your application. One way is to install it through NuGet, and the other way is to download the package from our website and copy the libraries into your program. Installation via NuGet is simpler and more recommended. You can find more details by visiting the following link.

Integrate Spire.Doc for C++ in a C++ Application

Convert Doc or Docx to PDF in C++

The Document->SaveToFile(LPCWSTR_S fileName, FileFormat fileFormat) method provided by Spire.Doc for C++ allows to save Word as PDF, XPS, HTML, RTF, etc. If you just want to save your Word documents as regular PDFs without additional settings, follow the steps below.

  • Create a Document object.
  • Load a sample Word file using Document->LoadFromFile() method.
  • Save the document to PDF using Doucment->SaveToFile() method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main() {

	//Specify input file path
	wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\sample.docx";

	//Specify output file path and name
	wstring outputPath = L"Output\\";
	wstring outputFile = outputPath + L"ToPDF.pdf";

	//Create a Document object
	Document* document = new Document();

	//Load a Word file
	document->LoadFromFile(inputFilePath.c_str());

	//Save the document to PDF
	document->SaveToFile(outputFile.c_str(), FileFormat::PDF);
	document->Close();
	delete document;
}

C++: Convert Word to PDF

Convert Word to PDF with Bookmarks in C++

Bookmarks can enhance the readability of a document. When generating PDF from Word, you may would like to preserve existing bookmarks of the Word document or create bookmarks from the headings. The following are the steps to convert Word to PDF with bookmarks.

  • Create a Document object.
  • Load a sample Word file using Document->LoadFromFile() method.
  • Create a ToPdfParameterList object, which is used to set conversion options.
  • Create bookmarks in PDF from the headings in Word using ToPdfParameterList.SetCreateWordBookmarksUsingHeadings() method.
  • Save the document to PDF with bookmarks using Doucment->SaveToFile(LPCWSTR_S fileName, ToPdfParameterList* paramList) method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main() {

	//Specify input file path
	wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\sample.docx";

	//Specify output file path and name
	wstring outputPath = L"Output\\";
	wstring outputFile = outputPath + L"ToPDF.pdf";

	//Create a Document object
	Document* document = new Document();

	//Load a Word file
	document->LoadFromFile(inputFilePath.c_str());

	//Create a ToPdfParameterList object
	ToPdfParameterList* parameters = new ToPdfParameterList();

	//Create bookmarks from Word headings
	parameters->SetCreateWordBookmarksUsingHeadings(true);

	//Create bookmarks in PDF from existing bookmarks in Word
	//parameters->SetCreateWordBookmarks(true);

	//Save the document to PDF
	document->SaveToFile(outputFile.c_str(), parameters);
	document->Close();
	delete document;
}

C++: Convert Word to PDF

Convert Word to PDF with Fonts Embedded in C++

By embedding fonts used in a Word document into the PDF document, you ensure that the PDF document looks the same on any device that does not have the appropriate fonts installed. The steps to embed fonts in PDF during conversion are as follows.

  • Create a Document object.
  • Load a sample Word file using Document->LoadFromFile() method.
  • Create a ToPdfParameterList object, which is used to set conversion options.
  • Embed fonts in generated PDF using ToPdfParameterList.SetIsEmbeddedAllFonts() method.
  • Save the document to PDF using Doucment->SaveToFile(LPCWSTR_S fileName, ToPdfParameterList* paramList) method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main() {

	//Specify input file path
	wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\sample.docx";

	//Specify output file path and name
	wstring outputPath = L"Output\\";
	wstring outputFile = outputPath + L"ToPDF.pdf";

	//Create a Document object
	Document* document = new Document();

	//Load a Word file
	document->LoadFromFile(inputFilePath.c_str());

	//Create a ToPdfParameterList object
	ToPdfParameterList* parameters = new ToPdfParameterList();

	//Embed fonts used in Word in generated PDF
	parameters->SetIsEmbeddedAllFonts(true);

	//Save the document to PDF
	document->SaveToFile(outputFile.c_str(), parameters);
	document->Close();
	delete document;
}

C++: Convert Word to PDF

Set Image Quality When Converting Word to PDF in C++

A document containing a large number of high-quality images will often be large in size. When you convert Word to PDF, you can decide whether to compress the image quality or not. The following are the detailed steps.

  • Create a Document object.
  • Load a sample Word file using Document->LoadFromFile() method.
  • Set the image quality using Document->SetJPEGQuality() mehtod
  • Save the document to PDF using Doucment->SaveToFile() method.
  • C++
#include "Spire.Doc.o.h";

using namespace Spire::Doc;
using namespace std;

int main() {

	//Specify input file path
	wstring inputFilePath = L"C:\\Users\\Administrator\\Desktop\\sample.docx";

	//Specify output file path and name
	wstring outputPath = L"Output\\";
	wstring outputFile = outputPath + L"ToPDF.pdf";

	//Create a Document object
	Document* document = new Document();

	//Load a Word file
	document->LoadFromFile(inputFilePath.c_str());

	//Compress image to 40% of the original quality
	document->SetJPEGQuality(40);

	//Preserve original image quality
	//document->SetJPEGQuality(100);

	//Save the document to PDF
	document->SaveToFile(outputFile.c_str(), FileFormat::PDF);
	document->Close();
	delete document;
}

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.

Published in Conversion

Coupon Code Copied!

Christmas Sale

Celebrate the season with exclusive savings

Save 10% Sitewide

Use Code:

View Campaign Details