Link Search Menu Expand Document

Merge Protected PDF Documents (C++ CLR) - C++

PDF Extractor SDK sample in C++ demonstrating ‘Merge Protected PDF Documents (C++ CLR)’

CPPCLRConsoleApplication.cpp
#include "stdafx.h"

//
// This example demonstrates how to provide password for protected PDF files.
//

using namespace System;
using Bytescout::PDFExtractor::DocumentMerger;


// `PasswordRequired` event handler
void OnPasswordRequired(System::Object ^sender, System::String ^document, System::String ^%password);


int main(array<System::String ^> ^args)
{
	String^ input1(".\\encrypted1 (password is 'password').pdf");
	String^ input2(".\\encrypted2 (password is 'password').pdf");
	String^ output(".\\result.pdf");

	// Create DocumentMerger instance
	DocumentMerger^ merger = gcnew DocumentMerger("demo", "demo");

	// Handle `PasswordRequired` event
	merger->PasswordRequired += gcnew Bytescout::PDFExtractor::PasswordEventHandler(&OnPasswordRequired);

	// Ignore document permissions
	merger->CheckPermissions = false;

	// Merge documents 
	array<String^>^ files = gcnew array<String^>(2) { input1, input2 };
	merger->Merge(files, output);

	delete merger;

	// Open the output document in default associated application (for demonstration)
	Diagnostics::Process::Start(output);
	
    return 0;
}

// `PasswordRequired` event handler
void OnPasswordRequired(System::Object ^sender, System::String ^document, System::String ^%password)
{
	// Ask user for password and put it to `Password` property.
	password = "password";
}

Resource.h
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by app.rc

stdafx.cpp
#include "stdafx.h"

stdafx.h
#pragma once

// TODO: reference additional headers your program requires here

Download Source Code (.zip)

Return to the previous page Explore PDF Extractor SDK