1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
void AddWatermarkFromImage(std::wstring doc_path, std::wstring jpg_path, std::wstring save_path) { // get pdfix Pdfix* pdfix = GetPdfix(); if (!pdfix) throw std::runtime_error("Pdfix was not initialized!"); PdfDoc* doc = pdfix->OpenDoc(doc_path.c_str(), L""); if (!doc) throw std::runtime_error(pdfix->GetError()); // specify warermark position and properties and apply it PdfWatermarkParams params; params.page_range.start_page = 0; params.page_range.end_page = -1; params.page_range.page_range_spec = kAllPages; params.order_top = 1; params.percentage_vals = 0; params.h_align = kAlignmentLeft; params.v_align = kAlignmentTop; params.h_value = 10; params.v_value = 10; params.scale = 0.5; params.rotation = 0; params.opacity = 0.5; if (!doc->AddWatermarkFromImage(¶ms, jpg_path.c_str())) throw std::runtime_error(pdfix->GetError()); doc->Save(save_path.c_str(), kSaveFull); doc->Close(); } |