我将几个PDF文件加载到Embarcadero C++中,并使用Gnostice pdfToolkit Vcl对它们进行数字签名。问题是在已签名的PDF文件中删除未签名的PDF文件。代码如下:
gtPDFDocumento->LoadFromFile("no_firmado.pdf");
gtPDFDocumento->AddSignature(firma_digital.pfx);
gtPDFDocumento->SaveToFile("firmado.pdf");
//You have to reload the pdf because if it does not give an error
gtPDFDocumento->LoadFromFile("firmado.pdf");
//
if(!DeleteFile("no_firmado.pdf"){
int e = GetLastError();
AnsiString error = SysErrorMessage(e);
ShowMessage(error);
return;
}
这是GetLastError()
错误的结果:
进程没有访问该文件的权限,因为另一个进程正在使用该文件。
我想知道我如何才能解锁未签名的PDF文件,以删除它。
2条答案
按热度按时间aelbi1ox1#
您仍然可以从最初加载
no_firmado.pdf
文件的行打开该文件。这就是您收到此错误的原因。
显式关闭文件,然后可以将其删除。
现在您可以调用
DeleteFile(...)
0md85ypi2#
我已经尝试过该代码,它给出了相同的错误:
谢谢你!