baldwin94/pdf-signature-extractor
最新稳定版本:v0.1.1
Composer 安装命令:
composer require baldwin94/pdf-signature-extractor
包简介
Helper para extraer datos de certificados digitales de PDFs firmados con soporte PKCS#7
README 文档
README
Helper para extraer datos de certificados digitales de PDFs firmados con soporte PKCS#7.
Características
- ✅ Extrae datos de firmas digitales en PDFs
- ✅ Soporta formato PKCS#7
- ✅ Obtiene información del firmante (nombre, apellidos, DNI)
- ✅ Extrae fecha de firma
- ✅ Extrae fecha de caducidad del certificado
- ✅ Verifica si un PDF tiene firmas digitales
Requisitos
- PHP 8.0 o superior
Instalación
composer require baldwin94/pdf-signature-extractor
Uso
Verificar si un PDF tiene firmas
use Baldwin94\PdfSignatureExtractor\PdfSignatureExtractor; $pdfPath = '/ruta/al/documento.pdf'; if (PdfSignatureExtractor::hasSignatures($pdfPath)) { echo "El PDF tiene firmas digitales"; } else { echo "El PDF no tiene firmas digitales"; }
Extraer firmas de un PDF
use Baldwin94\PdfSignatureExtractor\PdfSignatureExtractor; $pdfPath = '/ruta/al/documento.pdf'; try { $signatures = PdfSignatureExtractor::extractSignatures($pdfPath); foreach ($signatures as $signature) { echo "Fecha de firma: " . $signature['signature_date'] . "\n"; echo "Fecha de caducidad del certificado: " . ($signature['certificate_expiry'] ?? 'N/A') . "\n"; if (isset($signature['signature_info'])) { $info = $signature['signature_info']; echo "Nombre: " . ($info['given_name'] ?? 'N/A') . "\n"; echo "Apellidos: " . ($info['surname'] ?? 'N/A') . "\n"; echo "DNI: " . ($info['serial_number'] ?? 'N/A') . "\n"; } } } catch (Exception $e) { echo "Error: " . $e->getMessage(); }
Uso en Laravel
use Baldwin94\PdfSignatureExtractor\PdfSignatureExtractor; class DocumentController extends Controller { public function verifySignature(Request $request) { $pdfPath = $request->file('pdf')->getRealPath(); if (!PdfSignatureExtractor::hasSignatures($pdfPath)) { return response()->json([ 'error' => 'El PDF no tiene firmas digitales' ], 400); } $signatures = PdfSignatureExtractor::extractSignatures($pdfPath); return response()->json([ 'signatures' => $signatures ]); } }
Estructura de datos retornada
[
[
'signature_date' => '2024-01-15 10:30:45',
'certificate_expiry' => '2027-01-15 23:59:59',
'signature_info' => [
'given_name' => 'Juan',
'surname' => 'García López',
'serial_number' => '12345678'
]
]
]
Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Licencia
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Autor
Baldwin94
Soporte
Si encuentras algún problema o tienes sugerencias, por favor abre un issue.
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-21