Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
692b7e1
feat: Start to implement jeidison/pdf-signe
vitormattos Feb 22, 2024
1dc0833
chore: Start to implement jeidison/pdf-signe
vitormattos Feb 22, 2024
0c385de
chore: remove code of JSignPdf
vitormattos May 17, 2024
6af1a35
fix: remove duplciated import
vitormattos Mar 3, 2026
2cbe150
fix: update after rebase
vitormattos Mar 3, 2026
8827aea
chore: move file and make more compatible with LibreSign
vitormattos Mar 3, 2026
2ff7bfd
chore: update to vue3
vitormattos Mar 3, 2026
4193ea2
fix: convert coordinates to PHPNativeHandler
vitormattos Mar 3, 2026
dcba3ba
fix: adjust text spacing in PhpNativeHandler signature appearance
vitormattos Mar 3, 2026
333708b
refactor: use constant for RENDER_MODE_GRAPHIC_ONLY in JSignPdfHandler
vitormattos Mar 3, 2026
d87151e
fix: use server timezone for ServerSignatureDate in PhpNativeHandler
vitormattos Mar 3, 2026
d1364b1
refactor: remove ServerSignatureDate from base signature params
vitormattos Mar 3, 2026
cd1d633
fix: use user timezone for LocalSignerSignatureDateTime
vitormattos Mar 3, 2026
4ef99b1
refactor: use constant for RENDER_MODE_GRAPHIC_ONLY in SignatureTextS…
vitormattos Mar 3, 2026
fffd548
feat: add RENDER_MODE_GRAPHIC_ONLY constant
vitormattos Mar 3, 2026
64b7fe0
feat(settings/admin): expose signature_engine in initial state
vitormattos Mar 4, 2026
bb2d711
refactor(signature-text): remove unused SignerElementsService import
vitormattos Mar 4, 2026
0cafd07
refactor(php-native-handler): replace Imagick composition with PDF xO…
vitormattos Mar 4, 2026
a526ef7
fix(install): skip JSignPdf-specific steps when engine is not JSignPdf
vitormattos Mar 4, 2026
91cedcc
chore: point signer-php to vitormattos fork feat/visible-signature-ap…
vitormattos Mar 4, 2026
b1492f9
test(php-native-handler): add business-rule tests for rendering logic
vitormattos Mar 4, 2026
5c37e16
test(sign-file-service): add tests for PageDimensions propagation in …
vitormattos Mar 4, 2026
f78ee59
fix: cs
vitormattos Mar 4, 2026
199f10a
fix: add SPDX header
vitormattos Mar 4, 2026
d5e92a9
fix: SPDX year
vitormattos Mar 4, 2026
28d4ee1
fix(signature-engine): constrain NcSelect width with align-items: fle…
vitormattos Mar 4, 2026
ba1df88
fix: prevent error whem metadata is null
vitormattos Mar 4, 2026
bd7b017
test(SigningRequirementValidator): add failing test for createSignatu…
vitormattos Mar 4, 2026
3f7d0dd
fix(SigningRequirementValidator): require drawing even without placed…
vitormattos Mar 4, 2026
1b81824
fix(Sign): show drawing prompt in GRAPHIC_ONLY mode without placed el…
vitormattos Mar 4, 2026
893bb99
feat(Settings): register CollectMetadata component
vitormattos Mar 4, 2026
a6bf9f3
fix(SignFileService): include placed elements when signer submits no …
vitormattos Mar 4, 2026
5dd8dd2
test(SignFileServiceTest): regression for clickToSign with placed ele…
vitormattos Mar 4, 2026
3b1eac5
fix(JSignPdfHandler): guard mergeBackgroundWithSignature against empt…
vitormattos Mar 4, 2026
951d680
test(JSignPdfHandlerTest): regression for empty signature image with …
vitormattos Mar 4, 2026
9be5d04
fix(PhpNativeHandler): fix stamp rendering for GRAPHIC_ONLY and SIGNA…
vitormattos Mar 4, 2026
6db83c3
test(PhpNativeHandlerTest): regressions for GRAPHIC_ONLY and SIGNAME …
vitormattos Mar 4, 2026
432422f
fix(PhpNativeHandler): reduce line height to 1.0 to match JSignPdf sp…
vitormattos Mar 4, 2026
dde8bbc
test(PhpNativeHandlerTest): update name-centering assertion for 1.0 l…
vitormattos Mar 4, 2026
518c8d8
test(Sign): regression for needCreateSignature with no placed element…
vitormattos Mar 4, 2026
f78030e
fix(Sign): restore visibleElements check in needCreateSignature to av…
vitormattos Mar 4, 2026
bcdb5bb
fix(SigningRequirementValidator): remove signerHasSignRequest shortcu…
vitormattos Mar 4, 2026
6106b6e
fix(Sign): remove signerHasSignRequest computed and stop passing it t…
vitormattos Mar 4, 2026
f5bd5bc
test(SigningRequirementValidator): assert needsCreateSignature is fal…
vitormattos Mar 4, 2026
c0ea049
feat: rename PHP native engine label to Native with translator comment
vitormattos Mar 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,15 @@
"OCA\\Libresign\\Tests\\Fixtures\\": "tests/php/fixtures/"
}
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/vitormattos/pdf-signer-php"
}
],
"require": {
"cweagans/composer-patches": "^2.0",
"jeidison/signer-php": "dev-feat/visible-signature-appearance",
"phpseclib/phpseclib": "^3.0"
}
}
109 changes: 108 additions & 1 deletion composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 8 additions & 4 deletions lib/Handler/SignEngine/JSignPdfHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -366,20 +366,24 @@ private function signUsingVisibleElements(string $normalizedPdf, string $hashAlg
$params['--bg-path'] = $signatureImagePath;
}
} elseif ($params['--l2-text'] === '""') {
if ($backgroundPathForElement) {
if ($backgroundPathForElement && $signatureImagePath) {
$params['--bg-path'] = $this->mergeBackgroundWithSignature(
$backgroundPathForElement,
$signatureImagePath,
$this->normalizeScaleFactor($scaleFactor),
);
} else {
} elseif ($backgroundPathForElement) {
$params['--bg-path'] = $backgroundPathForElement;
} elseif ($signatureImagePath) {
$params['--bg-path'] = $signatureImagePath;
}
} else {
if ($renderMode === SignerElementsService::RENDER_MODE_GRAPHIC_AND_DESCRIPTION) {
$params['--render-mode'] = SignerElementsService::RENDER_MODE_GRAPHIC_AND_DESCRIPTION;
$params['--bg-path'] = $backgroundPathForElement;
$params['--img-path'] = $signatureImagePath;
if ($signatureImagePath) {
$params['--img-path'] = $signatureImagePath;
}
} elseif ($renderMode === SignerElementsService::RENDER_MODE_SIGNAME_AND_DESCRIPTION) {
$params['--render-mode'] = SignerElementsService::RENDER_MODE_GRAPHIC_AND_DESCRIPTION;
$params['--bg-path'] = $backgroundPathForElement;
Expand Down Expand Up @@ -586,7 +590,7 @@ private function parseSignatureText(): array {

public function getSignatureText(): string {
$renderMode = $this->signatureTextService->getRenderMode();
if ($renderMode !== 'GRAPHIC_ONLY') {
if ($renderMode !== SignerElementsService::RENDER_MODE_GRAPHIC_ONLY) {
$data = $this->parseSignatureText();
$signatureText = '"' . str_replace(
['"', '$'],
Expand Down
Loading
Loading