易捷 > PDF教程 > PDF开发/编程技术 >

利用PDFlib PLOP设置PDF文档的权限的代码及方法

分享到:
发布时间:2013-05-15 14:10   浏览次数:

利用PDFlib PLOP API,我们可以很容易的设置PDF文档的权限,而不需要任何第三方软件的支持。以下的代码演示了利用PDFlib PLOP API设置PDF文档权限的一般步骤。

#include <stdio.h>

#include "ploplib.h"

int main(void)
{
PLOP *plop;
/* 用于输入文档的参数 */
const char *in_filename = "../data/PLOP-datasheet.pdf";
const char *in_password = "";
char optlist[1024];

/* 用于输出文档的参数 */
const char *out_filename = "PLOP-datasheet-noprint.pdf";
const char *out_master = "PLOP";
const char *out_user = "";

/* 权限控制字符串 */
const char *permissions = "noprint nocopy";

/* 创建一个新的 PLOP 对象 */
if ((plop = PLOP_new()) == (PLOP *) 0)
{
printf("Couldn't create PLOP object (out of memory)!\n");
return(2);
}

PLOP_TRY(plop){
/* 打开没有权限控制的输入文档 */
sprintf(optlist, "password {%s} ", in_password);
if (PLOP_open_file(plop, in_filename, 0, optlist) == -1)
{
printf("Error: %s\n", PLOP_get_errmsg(plop));
PLOP_delete(plop);
return(2);
}

/* 创建输出文档,并应用权限设置 */
sprintf(optlist, "masterpassword {%s} userpassword {%s} "
"permissions {%s} keylength 128",
out_master, out_user, permissions);

if (PLOP_create_file(plop, out_filename, 0, optlist)== -1)
{
printf("Error: %s\n", PLOP_get_errmsg(plop));
PLOP_delete(plop);
return(2);
}

/* 关闭输入输出文件*/
PLOP_close(plop);
}

PLOP_CATCH(plop) {
printf("PLOP exception occurred in noprint:\n");
printf("[%d] %s: %s\n", PLOP_get_errnum(plop),
PLOP_get_apiname(plop), PLOP_get_errmsg(plop));
PLOP_delete(plop);
return(2);
}

/* 删除 PLOP 对象 */
PLOP_delete(plop);

return(0);
}

 

相关文章推荐

易捷服务大全

在线PDF转换工具

Word

在线Word转PDF

http://wordtopdf.yjpdf.com
 
Excel

在线Excel转PDF

http://exceltopdf.yjpdf.com
 
PPT

在线PPT转PDF

http://ppttopdf.yjpdf.com

本类最新文章

本类本月热门

大家在关注…