diff --git a/docengine/app/services/pdf_service.py b/docengine/app/services/pdf_service.py
index ce306b2..cff12e5 100644
--- a/docengine/app/services/pdf_service.py
+++ b/docengine/app/services/pdf_service.py
@@ -121,6 +121,11 @@ class NativePDFService:
for line in block.get("lines", []):
for span in line.get("spans", []):
font_size = span.get("size", 12.0)
+
+ # Ignore massive text (like diagonal watermarks)
+ if font_size > 60:
+ continue
+
space_threshold = font_size * 1.5
font_family = span.get("font", None)
diff --git a/docengine/docengine.db b/docengine/docengine.db
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/app/templates/templates.component.html b/frontend/src/app/templates/templates.component.html
index c9f96b4..bff6801 100644
--- a/frontend/src/app/templates/templates.component.html
+++ b/frontend/src/app/templates/templates.component.html
@@ -30,7 +30,7 @@
(cdkDropListDropped)="drop($event)"
[style.aspect-ratio]="page.width + ' / ' + page.height">
-
+
+
20">{{ node.block_type }}
{{ node.text_value }}
diff --git a/frontend/src/app/templates/templates.component.scss b/frontend/src/app/templates/templates.component.scss
index 145efa4..d46f485 100644
--- a/frontend/src/app/templates/templates.component.scss
+++ b/frontend/src/app/templates/templates.component.scss
@@ -63,9 +63,9 @@
background: rgba(255, 255, 255, 0.85);
border: 1px solid var(--surface-border);
border-radius: 2px;
- cursor: grab;
transition: box-shadow 0.2s, border-color 0.2s;
overflow: hidden;
+ resize: both;
display: flex;
flex-direction: column;
justify-content: center;
@@ -107,6 +107,58 @@
&.table_header { border-color: #F59E0B; }
&.total { border-color: #10B981; }
&.tax { border-color: #EF4444; }
+
+ .drag-handle {
+ position: absolute;
+ top: 2px;
+ left: 2px;
+ font-size: 0.6rem;
+ color: var(--text-color-secondary);
+ background: rgba(255, 255, 255, 0.9);
+ border-radius: 2px;
+ padding: 2px;
+ cursor: grab;
+ opacity: 0;
+ transition: opacity 0.2s;
+ z-index: 20;
+
+ &:active {
+ cursor: grabbing;
+ }
+
+ &:hover {
+ color: var(--primary-color);
+ background: var(--primary-50);
+ }
+ }
+
+ &:hover .drag-handle {
+ opacity: 1;
+ }
+
+ .close-icon {
+ position: absolute;
+ top: 2px;
+ right: 2px;
+ font-size: 0.6rem;
+ color: var(--text-color-secondary);
+ background: rgba(255, 255, 255, 0.9);
+ border-radius: 50%;
+ padding: 2px;
+ cursor: pointer;
+ opacity: 0;
+ transition: opacity 0.2s;
+ z-index: 20;
+
+ &:hover {
+ color: var(--red-500);
+ background: var(--red-50);
+ }
+ }
+
+ &:hover .close-icon {
+ opacity: 1;
+ }
}
/* Template Mapping Side */
diff --git a/frontend/src/app/templates/templates.component.ts b/frontend/src/app/templates/templates.component.ts
index 919dd15..e278e85 100644
--- a/frontend/src/app/templates/templates.component.ts
+++ b/frontend/src/app/templates/templates.component.ts
@@ -187,4 +187,9 @@ export class TemplatesComponent implements OnInit {
getCanvasDropLists() {
return this.pages.map((_, i) => 'document-layout-list-' + i);
}
+
+ removeNode(pageIndex: number, nodeIndex: number, event: Event) {
+ event.stopPropagation();
+ this.pages[pageIndex].nodes.splice(nodeIndex, 1);
+ }
}
diff --git a/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfo.cs b/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfo.cs
index e1347ea..c43ce9a 100644
--- a/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfo.cs
+++ b/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("AdminService.API")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d6614f408b65ff02c4ec3ab90c30c5348b110c2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6fd90ef7d4b31df5e1484658299a2d1c93b2ec20")]
[assembly: System.Reflection.AssemblyProductAttribute("AdminService.API")]
[assembly: System.Reflection.AssemblyTitleAttribute("AdminService.API")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfoInputs.cache b/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfoInputs.cache
index 15125ff..2d4ae04 100644
--- a/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfoInputs.cache
+++ b/oss-microservices/AdminService/AdminService.API/obj/Debug/net8.0/AdminService.API.AssemblyInfoInputs.cache
@@ -1 +1 @@
-470d40fea097e8ea2628b8dbff0e814f055e807a1029db302ae8002958fd34fd
+0a1b6a4a45463f33f1b1d85ff83179c9a6942d1cf002eeb82f696f4cd717048c
diff --git a/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfo.cs b/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfo.cs
index ba17ac4..357c854 100644
--- a/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfo.cs
+++ b/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("AdminService.Application")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d6614f408b65ff02c4ec3ab90c30c5348b110c2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6fd90ef7d4b31df5e1484658299a2d1c93b2ec20")]
[assembly: System.Reflection.AssemblyProductAttribute("AdminService.Application")]
[assembly: System.Reflection.AssemblyTitleAttribute("AdminService.Application")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfoInputs.cache b/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfoInputs.cache
index 863071c..2d2c2e3 100644
--- a/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfoInputs.cache
+++ b/oss-microservices/AdminService/AdminService.Application/obj/Debug/net8.0/AdminService.Application.AssemblyInfoInputs.cache
@@ -1 +1 @@
-40ee97bcbb9c8fb6e68c5e6e397364a310fe04168b9555c38db03e648a8bbb51
+c5363f90b727c17798757abb162df06c7cb9043744584a65732d3dc6e4527684
diff --git a/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfo.cs b/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfo.cs
index 9efd2f9..0c6928c 100644
--- a/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfo.cs
+++ b/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("AdminService.Domain")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d6614f408b65ff02c4ec3ab90c30c5348b110c2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6fd90ef7d4b31df5e1484658299a2d1c93b2ec20")]
[assembly: System.Reflection.AssemblyProductAttribute("AdminService.Domain")]
[assembly: System.Reflection.AssemblyTitleAttribute("AdminService.Domain")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfoInputs.cache b/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfoInputs.cache
index f77d172..c418099 100644
--- a/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfoInputs.cache
+++ b/oss-microservices/AdminService/AdminService.Domain/obj/Debug/net8.0/AdminService.Domain.AssemblyInfoInputs.cache
@@ -1 +1 @@
-a1dd58f2a98df609dbd0ab78d74cbab90d44d061f614e327a00488c4bc3adcfa
+84da5ccf9e3c043a637edb6ff3581e3b021815c48800122ccfc2c109c11ce784
diff --git a/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfo.cs b/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfo.cs
index c8b81af..1ff969b 100644
--- a/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfo.cs
+++ b/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("AdminService.Infrastructure")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d6614f408b65ff02c4ec3ab90c30c5348b110c2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6fd90ef7d4b31df5e1484658299a2d1c93b2ec20")]
[assembly: System.Reflection.AssemblyProductAttribute("AdminService.Infrastructure")]
[assembly: System.Reflection.AssemblyTitleAttribute("AdminService.Infrastructure")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfoInputs.cache b/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfoInputs.cache
index fecdbcf..1c0d7cb 100644
--- a/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfoInputs.cache
+++ b/oss-microservices/AdminService/AdminService.Infrastructure/obj/Debug/net8.0/AdminService.Infrastructure.AssemblyInfoInputs.cache
@@ -1 +1 @@
-64cded26218097f54300332a76d52d952dce41fbebb7e43e081b7061156e5b17
+7ef0b1b39652d616b2621c866d18f601a7897511da17cc4c124fd260bb3131db
diff --git a/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfo.cs b/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfo.cs
index 2658c04..f5daaf7 100644
--- a/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfo.cs
+++ b/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Shared.Commons")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d6614f408b65ff02c4ec3ab90c30c5348b110c2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6fd90ef7d4b31df5e1484658299a2d1c93b2ec20")]
[assembly: System.Reflection.AssemblyProductAttribute("Shared.Commons")]
[assembly: System.Reflection.AssemblyTitleAttribute("Shared.Commons")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfoInputs.cache b/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfoInputs.cache
index a5dc476..245d2a3 100644
--- a/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfoInputs.cache
+++ b/oss-microservices/Shared.Commons/obj/Debug/net8.0/Shared.Commons.AssemblyInfoInputs.cache
@@ -1 +1 @@
-2046ef40f0c485f00e564e2f0066b9951c0c40d1128bc1f8bf42d372e39d058e
+15b5555eb0a3987d28580be196a57888a7162f8edbf32845eafe6ab03017fd62
diff --git a/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfo.cs b/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfo.cs
index 449c26b..4f29dcf 100644
--- a/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfo.cs
+++ b/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfo.cs
@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Shared.Contracts")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+3d6614f408b65ff02c4ec3ab90c30c5348b110c2")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6fd90ef7d4b31df5e1484658299a2d1c93b2ec20")]
[assembly: System.Reflection.AssemblyProductAttribute("Shared.Contracts")]
[assembly: System.Reflection.AssemblyTitleAttribute("Shared.Contracts")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfoInputs.cache b/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfoInputs.cache
index af519ea..79e7b72 100644
--- a/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfoInputs.cache
+++ b/oss-microservices/Shared.Contracts/obj/Debug/net8.0/Shared.Contracts.AssemblyInfoInputs.cache
@@ -1 +1 @@
-1ae4e40dd2596cce1ee09804327ae75af5447caabae810d6235b99e082b8031f
+c664c4c87752a413e6704dd91210581b8c484a3ab417298d878f5778b3373f5c