Keď vývojári upravia PDF dokument pomocou tejto knižnice C++, v skutočnosti sa upravuje objektový model dokumentu (DOM). V PDF dokumente reprezentovanom ako DOM je teda možné vykonať takmer akékoľvek zmeny. Pomocou poskytnutej súpravy C++ SDK môžu vývojári jednoducho upravovať dokument: upravovať text, aktualizovať tabuľky, pridávať obrázky atď. Stačí načítať PDF súbor, vykonať potrebné zmeny programovo a exportovať výsledok do rovnakého alebo akéhokoľvek podporovaného formátu uloženia.
Naša knižnica pre C++ dáva vývojárom možnosť upraviť PDF dokument priamo úpravou jeho modelu objektu dokumentu (DOM), čo znamená, že nie je potrebné inštalovať žiadny ďalší softvér.
Najpopulárnejším prípadom úpravy PDF súboru je úprava textu. S daným softvérovým riešením môžete pridávať, upravovať alebo mazať text pomocou C++ v rámci dokumentu.
Ďalšou populárnou možnosťou úpravy PDF je úprava tabuľky. Naša C++ SDK vám umožňuje pracovať s tabuľkami a textom v bunkách tabuľky.
Vývojári C++ môžu pridávať alebo odstraňovať bunky tabuľky a tabuľky, ako aj pridávať, upravovať a odstraňovať text v nich.
Okrem úpravy textu a tabuliek v PDF existuje ďalšia bežná možnosť: pridávanie obrázkov do dokumentu v C++. Vývojári C++ môžu tiež pridať obrázok do PDF súboru pomocou DOM.
Vyskúšajte túto výkonnú súpravu C++ SDK a zhodnoťte niektoré možnosti úpravy PDF dokumentov. Pomocou nasledujúceho príkladu načítajte PDF dokument a vykonajte zmeny: pridajte text, pridajte tabuľku a bunku tabuľky s textom alebo vložte obrázok do PDF dokumentu:
using namespace aspose::words::cloud;
auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####",
L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input.pdf"), std::istream::binary));
auto requestParagraph = std::make_shared<aspose::words::cloud::models::ParagraphInsert>();
requestParagraph->setText(std::make_shared<std::wstring>(L"Morbi enim nunc faucibus a."));
std::shared_ptr<requests::InsertParagraphOnlineRequest> insertParagraphRequest(
new requests::InsertParagraphOnlineRequest(
requestDocument, requestParagraph
)
);
auto insertParagraph = wordsApi->insertParagraphOnline(insertParagraphRequest);
std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
new requests::ConvertDocumentRequest(
insertParagraph->document->values.begin,
std::make_shared<std::wstring>(L"pdf")
)
);
auto convert = wordsApi->convertDocument(convertRequest);
using namespace aspose::words::cloud;
auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####",
L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input.pdf"), std::istream::binary));
auto requestTable = std::make_shared<aspose::words::cloud::models::TableInsert>();
requestTable->setColumnsCount(std::make_shared<int32_t>(1));
requestTable->setRowsCount(std::make_shared<int32_t>(2));
std::shared_ptr<requests::InsertTableOnlineRequest> insertTableRequest(
new requests::InsertTableOnlineRequest(
requestDocument, requestTable, std::make_shared<std::wstring>(L"")
)
);
auto insertTable = wordsApi->insertTableOnline(insertTableRequest);
std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
new requests::ConvertDocumentRequest(
insertTable->document->values.begin,
std::make_shared<std::wstring>(L"pdf")
)
);
auto convert = wordsApi->convertDocument(convertRequest);
using namespace aspose::words::cloud;
auto config = std::make_shared<ApiConfiguration>(L"####-####-####-####-####",
L"##################");
auto wordsApi = std::make_shared<WordsApi>(config);
auto requestDocument = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input1.pdf"), std::istream::binary));
auto requestDrawingObject =
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert>();
requestDrawingObject->setHeight(std::make_shared<double>(0));
requestDrawingObject->setLeft(std::make_shared<double>(0));
requestDrawingObject->setTop(std::make_shared<double>(0));
requestDrawingObject->setWidth(std::make_shared<double>(0));
requestDrawingObject->setRelativeHorizontalPosition(
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::RelativeHorizontalPosition>(
aspose::words::cloud::models::DrawingObjectInsert::RelativeHorizontalPosition::MARGIN));
requestDrawingObject->setRelativeVerticalPosition(
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::RelativeVerticalPosition>(
aspose::words::cloud::models::DrawingObjectInsert::RelativeVerticalPosition::MARGIN));
requestDrawingObject->setWrapType(
std::make_shared<aspose::words::cloud::models::DrawingObjectInsert::WrapType>(
aspose::words::cloud::models::DrawingObjectInsert::WrapType::INLINE));
auto requestImageFile = std::shared_ptr<std::istream>(new std::ifstream(
std::filesystem::path(L"Input2.pdf"), std::istream::binary));
std::shared_ptr<requests::InsertDrawingObjectOnlineRequest> insertDrawingObjectRequest(
new requests::InsertDrawingObjectOnlineRequest(
requestDocument, requestDrawingObject, requestImageFile,
std::make_shared<std::wstring>(L"sections/0")
)
);
auto insertDrawingObject = wordsApi->insertDrawingObjectOnline(insertDrawingObjectRequest);
std::shared_ptr<requests::ConvertDocumentRequest> convertRequest(
new requests::ConvertDocumentRequest(
insertDrawingObject->document->values.begin,
std::make_shared<std::wstring>(L"pdf")
)
);
auto convert = wordsApi->convertDocument(convertRequest);
Clone Aspose.Words Cloud SDK for C++ z GitHubu. Podrobné informácie o zostavovaní a konfigurácii SDK nájdete v časti "How to use the SDK".
Ak chcete rýchlo získať potrebné bezpečnostné poverenia a získať prístup k nášmu REST API, postupujte podľa týchto Instructions v dokumentácii.
Podrobnosti nájdete v Repository Documentation.
Operáciu úprav môžete vykonať pre iné formáty súborov: