Image / text / XML conversion
This section covers foxit::addon::conversion::Convert APIs that do not require deploying an additional conversion engine: image → PDF, TXT → PDF, and PDF → XML. Microsoft Office, LibreOffice, WPS, and standalone HTML / DWG engine directories are not required.
Engine-backed Office / HTML / DWG paths are listed in Conversion capabilities overview.
Rendering PDF pages to images, or writing images into PDF with Image / Renderer, is documented under Image conversion (not the Conversion module).
Image → PDF
Use Convert::FromImage to convert common bitmap files directly to PDF.
c++
#include "include/addon/conversion/fs_convert.h"
using namespace foxit::addon::conversion;
// Make sure that SDK has already been initialized successfully.
Convert::FromImage(L"input.png", L"output.pdf");java
import com.foxit.sdk.addon.conversion.Convert;
// Make sure that SDK has already been initialized successfully.
Convert.fromImage("input.png", "output.pdf");python
from FoxitPDFSDKPython3 import *
# Make sure that SDK has already been initialized successfully.
Convert.FromImage("input.png", "output.pdf")csharp
using foxit.addon.conversion;
// Make sure that SDK has already been initialized successfully.
Convert.FromImage("input.png", "output.pdf");Stream overloads via ReaderCallback / WriterCallback are described in the API Reference.
TXT → PDF
Use Convert::FromTXT with TXT2PDFSettingData (page size, margins, font, size, color, line spacing, page break on 0x0c, and more).
c++
#include "include/common/fs_common.h"
#include "include/addon/conversion/fs_convert.h"
using namespace foxit;
using namespace foxit::common;
using namespace foxit::addon::conversion;
// Make sure that SDK has already been initialized successfully.
TXT2PDFSettingData setting_data;
setting_data.page_width = 595;
setting_data.page_height = 842;
setting_data.page_margin = RectF(36, 36, 36, 36);
setting_data.font = Font(L"Arial", Font::e_StyleFixedPitch, Font::e_CharsetANSI, 0);
setting_data.text_size = 10;
setting_data.text_color = 0xFF000000;
setting_data.linespace = 2;
setting_data.is_break_page = false;
Convert::FromTXT(L"input.txt", L"output.pdf", setting_data);java
import com.foxit.sdk.common.Font;
import com.foxit.sdk.common.fxcrt.RectF;
import com.foxit.sdk.addon.conversion.Convert;
import com.foxit.sdk.addon.conversion.TXT2PDFSettingData;
// Make sure that SDK has already been initialized successfully.
TXT2PDFSettingData settingData = new TXT2PDFSettingData();
settingData.setPage_width(595);
settingData.setPage_height(842);
settingData.setPage_margin(new RectF(36, 36, 36, 36));
settingData.setFont(new Font("Arial", Font.e_StyleFixedPitch, Font.e_CharsetANSI, 0));
settingData.setText_size(10);
settingData.setText_color(0xFF000000);
settingData.setLinespace(2);
settingData.setIs_break_page(false);
Convert.fromTXT("input.txt", "output.pdf", settingData);python
from FoxitPDFSDKPython3 import *
# Make sure that SDK has already been initialized successfully.
setting_data = TXT2PDFSettingData()
setting_data.page_width = 595
setting_data.page_height = 842
setting_data.page_margin = RectF(36, 36, 36, 36)
setting_data.font = Font("Arial", Font.e_StyleFixedPitch, Font.e_CharsetANSI, 0)
setting_data.text_size = 10
setting_data.text_color = 0xFF000000
setting_data.linespace = 2
setting_data.is_break_page = False
Convert.FromTXT("input.txt", "output.pdf", setting_data)csharp
using foxit.common;
using foxit.addon.conversion;
// Make sure that SDK has already been initialized successfully.
TXT2PDFSettingData settingData = new TXT2PDFSettingData();
settingData.page_width = 595;
settingData.page_height = 842;
settingData.page_margin = new RectF(36, 36, 36, 36);
settingData.font = new Font("Arial", Font.Styles.e_StyleFixedPitch, Font.Charsets.e_CharsetANSI, 0);
settingData.text_size = 10;
settingData.text_color = 0xFF000000;
settingData.linespace = 2;
settingData.is_break_page = false;
Convert.FromTXT("input.txt", "output.pdf", settingData);PDF → XML
Use Convert::ToXML to export structured XML. If the input is not a Tagged PDF, is_force_to_tagged_pdf controls whether the document is tagged first; when false and the document is untagged, conversion fails.
Images written during export can go to a specified folder; when empty, they default to an images folder beside the output XML.
c++
#include "include/addon/conversion/fs_convert.h"
using namespace foxit::addon::conversion;
// Make sure that SDK has already been initialized successfully.
bool ok = Convert::ToXML(
L"input.pdf",
L"", // password; empty if none
L"output.xml",
L"", // image folder; empty -> default "images" beside XML
true); // force tag when input is not tagged
if (!ok) {
// Handle conversion failure (e.g. untagged input when force-tag is false).
return;
}java
import com.foxit.sdk.addon.conversion.Convert;
// Make sure that SDK has already been initialized successfully.
boolean ok = Convert.toXML(
"input.pdf",
"",
"output.xml",
"",
true);
if (!ok) {
// Handle conversion failure (e.g. untagged input when force-tag is false).
return;
}python
from FoxitPDFSDKPython3 import *
# Make sure that SDK has already been initialized successfully.
ok = Convert.ToXML("input.pdf", "", "output.xml", "", True)
if not ok:
# Handle conversion failure (e.g. untagged input when force-tag is false).
raise RuntimeError("Convert.ToXML failed")csharp
using foxit.addon.conversion;
// Make sure that SDK has already been initialized successfully.
bool ok = Convert.ToXML(
"input.pdf",
"",
"output.xml",
"",
true);
if (!ok) {
// Handle conversion failure (e.g. untagged input when force-tag is false).
return;
}Note: This is not form data
Form::ExportToXML/ImportFromXML. See AcroForm.