Converter documentos PDF em documentos XML
bool ConvertToXml(const wchar_t* pdf_path, const wchar_t* dest_path) {
PDF2Xml pdf_to_xml;
auto open_result = pdf_to_xml.Open(pdf_path);
if (open_result == PDF2Xml::kOpenSuccess) {
return pdf_to_xml.Save(dest_path);
}
return false;
}
Método: PDF2Xml::Open
- Descrição: abra o documento PDF
- Descrição dos parâmetros:
-
-
Parâmetro |
Tipo |
Necessário |
Descrição |
file_path |
const char* ou const wchar_t* |
Sim |
Caminho do documento PDF. |
password |
const unsigned char* |
Não |
Senha |
password_length |
size_t |
Não |
Comprimento da senha |
Tipo de retorno:
Tipo |
Descrição |
/** * @brief Open result */ enum OpenResult { kOpenFailed, kOpenSuccess, kOpenNeedPassword = 4, }; |
Se a abertura foi bem-sucedida. |
PDF2Xml pdf_to_xml;
unsigned char pwd[100] = { "123456" };
auto open_result = pdf_to_xml.Open(L"F:\\source\\test.pdf", pwd, 6u);
if (open_result != PDF2Xml::kOpenSuccess) {
switch (open_result) {
case PDF2Xml::kOpenFailed:
std::cerr << "Failed to open the document." << std::endl;
break;
case PDF2Xml::kOpenNeedPassword:
std::cerr << "Document requires password." << std::endl;
default:
break;
}
}
Método: PDF2Xml::AddPageRange
- Descrição: adicionar intervalo de páginas de conversão, converter todas as páginas por padrão.
- Descrição dos parâmetros:
-
-
Parâmetro |
Tipo |
Necessário |
Descrição |
start |
unsigned int |
Sim |
Página inicial |
end |
unsigned int |
Sim |
Página final |
step |
unsigned int |
Não |
Etapa, o valor padrão é 1 |
Tipo de retorno:
Tipo |
Descrição: |
Void |
PDF2Xml pdf_to_xml;
auto open_result = pdf_to_xml.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Xml::kOpenSuccess) {
pdf_to_xml.AddPageRange(2u,5u);
}
Método: PDF2Xml::SetRegion
- Descrição: defina a área retangular da página de conversão
- Descrição dos parâmetros:
-
-
Parâmetro |
Tipo |
Necessário |
Descrição |
left |
float |
Sim |
O valor da coordenada do x-axisdo canto superior esquerdo da área retangular |
top |
float |
Sim |
O valor da coordenada do y-axisdo canto superior esquerdo da área retangular |
right |
float |
Sim |
O valor da coordenada do x-axis do canto inferior direito da área retangular |
bottom |
float |
Sim |
O valor da coordenada do y-axis do canto inferior direito da área retangular |
Tipo de retorno:
Tipo |
Descrição |
Void |
PDF2Xml pdf_to_xml;
auto open_result = pdf_to_xml.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Xml::kOpenSuccess) {
pdf_to_xml.SetRegion(100,300,200,200);
}
Método: PDF2Xml::Save
- Descrição: salve o documento convertido
- Descrição dos parâmetros:
-
-
Parâmetros |
Tipo |
Necessário |
Descrição |
dest_path |
const char* ou const wchar_t* |
Sim |
Caminho do arquivo de destino |
progress |
Progresso |
Não |
Salve o objeto de notificação de progresso. O padrão é vazio |
Tipo de retorno:
Tipo |
Descrição |
Void |
PDF2Xml pdf_to_xml;
auto open_result = pdf_to_xml.Open(L"F:\\source\\test.pdf");
if (open_result == PDF2Xml::kOpenSuccess) {
pdf_to_xml.Save(L"F:\\output\\test.xml");
}