Compare commits
10 Commits
bug/rememb
...
v0.33.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67de8a9460 | ||
|
|
b26aa3417e | ||
|
|
8dfb5940ca | ||
|
|
0ce479e1e3 | ||
|
|
cca3b6b525 | ||
|
|
03529567ba | ||
|
|
781a52c759 | ||
|
|
be2c103065 | ||
|
|
80fd2eff5f | ||
|
|
65abfd9c7a |
3
.github/workflows/push-docker.yml
vendored
3
.github/workflows/push-docker.yml
vendored
@@ -67,6 +67,7 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
||||||
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
|
||||||
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }},enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }},enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
@@ -95,6 +96,7 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
||||||
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
|
||||||
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
@@ -122,6 +124,7 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
||||||
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
|
||||||
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-fat,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-fat,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
|
|||||||
26
README.md
26
README.md
@@ -190,29 +190,29 @@ Stirling-PDF currently supports 36 languages!
|
|||||||
|
|
||||||
| Language | Progress |
|
| Language | Progress |
|
||||||
| -------------------------------------------- | -------------------------------------- |
|
| -------------------------------------------- | -------------------------------------- |
|
||||||
| Arabic (العربية) (ar_AR) |  |
|
| Arabic (العربية) (ar_AR) |  |
|
||||||
| Basque (Euskara) (eu_ES) |  |
|
| Basque (Euskara) (eu_ES) |  |
|
||||||
| Bulgarian (Български) (bg_BG) |  |
|
| Bulgarian (Български) (bg_BG) |  |
|
||||||
| Catalan (Català) (ca_CA) |  |
|
| Catalan (Català) (ca_CA) |  |
|
||||||
| Croatian (Hrvatski) (hr_HR) |  |
|
| Croatian (Hrvatski) (hr_HR) |  |
|
||||||
| Czech (Česky) (cs_CZ) |  |
|
| Czech (Česky) (cs_CZ) |  |
|
||||||
| Danish (Dansk) (da_DK) |  |
|
| Danish (Dansk) (da_DK) |  |
|
||||||
| Dutch (Nederlands) (nl_NL) |  |
|
| Dutch (Nederlands) (nl_NL) |  |
|
||||||
| English (English) (en_GB) |  |
|
| English (English) (en_GB) |  |
|
||||||
| English (US) (en_US) |  |
|
| English (US) (en_US) |  |
|
||||||
| French (Français) (fr_FR) |  |
|
| French (Français) (fr_FR) |  |
|
||||||
| German (Deutsch) (de_DE) |  |
|
| German (Deutsch) (de_DE) |  |
|
||||||
| Greek (Ελληνικά) (el_GR) |  |
|
| Greek (Ελληνικά) (el_GR) |  |
|
||||||
| Hindi (हिंदी) (hi_IN) |  |
|
| Hindi (हिंदी) (hi_IN) |  |
|
||||||
| Hungarian (Magyar) (hu_HU) |  |
|
| Hungarian (Magyar) (hu_HU) |  |
|
||||||
| Indonesian (Bahasa Indonesia) (id_ID) |  |
|
| Indonesian (Bahasa Indonesia) (id_ID) |  |
|
||||||
| Irish (Gaeilge) (ga_IE) |  |
|
| Irish (Gaeilge) (ga_IE) |  |
|
||||||
| Italian (Italiano) (it_IT) |  |
|
| Italian (Italiano) (it_IT) |  |
|
||||||
| Japanese (日本語) (ja_JP) |  |
|
| Japanese (日本語) (ja_JP) |  |
|
||||||
| Korean (한국어) (ko_KR) |  |
|
| Korean (한국어) (ko_KR) |  |
|
||||||
| Norwegian (Norsk) (no_NB) |  |
|
| Norwegian (Norsk) (no_NB) |  |
|
||||||
| Polish (Polski) (pl_PL) |  |
|
| Polish (Polski) (pl_PL) |  |
|
||||||
| Portuguese (Português) (pt_PT) |  |
|
| Portuguese (Português) (pt_PT) |  |
|
||||||
| Portuguese Brazilian (Português) (pt_BR) |  |
|
| Portuguese Brazilian (Português) (pt_BR) |  |
|
||||||
| Romanian (Română) (ro_RO) |  |
|
| Romanian (Română) (ro_RO) |  |
|
||||||
| Russian (Русский) (ru_RU) |  |
|
| Russian (Русский) (ru_RU) |  |
|
||||||
@@ -225,7 +225,7 @@ Stirling-PDF currently supports 36 languages!
|
|||||||
| Traditional Chinese (繁體中文) (zh_TW) |  |
|
| Traditional Chinese (繁體中文) (zh_TW) |  |
|
||||||
| Turkish (Türkçe) (tr_TR) |  |
|
| Turkish (Türkçe) (tr_TR) |  |
|
||||||
| Ukrainian (Українська) (uk_UA) |  |
|
| Ukrainian (Українська) (uk_UA) |  |
|
||||||
| Vietnamese (Tiếng Việt) (vi_VN) |  |
|
| Vietnamese (Tiếng Việt) (vi_VN) |  |
|
||||||
|
|
||||||
## Contributing (Creating Issues, Translations, Fixing Bugs, etc.)
|
## Contributing (Creating Issues, Translations, Fixing Bugs, etc.)
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ ext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "stirling.software"
|
group = "stirling.software"
|
||||||
version = "0.32.0"
|
version = "0.33.1"
|
||||||
|
|
||||||
java {
|
java {
|
||||||
// 17 is lowest but we support and recommend 21
|
// 17 is lowest but we support and recommend 21
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ ignore = [
|
|||||||
ignore = [
|
ignore = [
|
||||||
'AddStampRequest.alphabet',
|
'AddStampRequest.alphabet',
|
||||||
'AddStampRequest.position',
|
'AddStampRequest.position',
|
||||||
'home.pipeline.title'
|
|
||||||
'PDFToBook.selectText.1',
|
'PDFToBook.selectText.1',
|
||||||
'PDFToText.tags',
|
'PDFToText.tags',
|
||||||
'addPageNumbers.selectText.3',
|
'addPageNumbers.selectText.3',
|
||||||
'alphabet',
|
'alphabet',
|
||||||
'certSign.name',
|
'certSign.name',
|
||||||
|
'home.pipeline.title',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'licenses.version',
|
'licenses.version',
|
||||||
'pipeline.title',
|
'pipeline.title',
|
||||||
@@ -46,7 +46,6 @@ ignore = [
|
|||||||
'sponsor',
|
'sponsor',
|
||||||
'text',
|
'text',
|
||||||
'watermark.type.1',
|
'watermark.type.1',
|
||||||
'certSign.name',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[el_GR]
|
[el_GR]
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=صفحة
|
|||||||
pages=صفحات
|
pages=صفحات
|
||||||
loading=جارٍ التحميل...
|
loading=جارٍ التحميل...
|
||||||
addToDoc=إضافة إلى المستند
|
addToDoc=إضافة إلى المستند
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=سياسة الخصوصية
|
legal.privacy=سياسة الخصوصية
|
||||||
legal.terms=شروط الاستخدام
|
legal.terms=شروط الاستخدام
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Страница
|
|||||||
pages=Страници
|
pages=Страници
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Политика за поверителност
|
legal.privacy=Политика за поверителност
|
||||||
legal.terms=Правила и условия
|
legal.terms=Правила и условия
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Pàgina
|
|||||||
pages=Pàgines
|
pages=Pàgines
|
||||||
loading=Carregant...
|
loading=Carregant...
|
||||||
addToDoc=Afegeix al document
|
addToDoc=Afegeix al document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Política de Privacitat
|
legal.privacy=Política de Privacitat
|
||||||
legal.terms=Termes i condicions
|
legal.terms=Termes i condicions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Strana
|
|||||||
pages=Strany
|
pages=Strany
|
||||||
loading=Načítání...
|
loading=Načítání...
|
||||||
addToDoc=Přidat do dokumentu
|
addToDoc=Přidat do dokumentu
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Politika soukromí
|
legal.privacy=Politika soukromí
|
||||||
legal.terms=Podmínky použití
|
legal.terms=Podmínky použití
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Sidenummer
|
|||||||
pages=Sideantal
|
pages=Sideantal
|
||||||
loading=Laster...
|
loading=Laster...
|
||||||
addToDoc=Tilføj til Dokument
|
addToDoc=Tilføj til Dokument
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Vilkår og betingelser
|
legal.terms=Vilkår og betingelser
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Seite
|
|||||||
pages=Seiten
|
pages=Seiten
|
||||||
loading=Laden...
|
loading=Laden...
|
||||||
addToDoc=In Dokument hinzufügen
|
addToDoc=In Dokument hinzufügen
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Datenschutz
|
legal.privacy=Datenschutz
|
||||||
legal.terms=AGB
|
legal.terms=AGB
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Σελίδα
|
|||||||
pages=Σελίδες
|
pages=Σελίδες
|
||||||
loading=Φόρτωση...
|
loading=Φόρτωση...
|
||||||
addToDoc=Πρόσθεση στο Εκπομπώματο
|
addToDoc=Πρόσθεση στο Εκπομπώματο
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Πολιτική Προνομίους
|
legal.privacy=Πολιτική Προνομίους
|
||||||
legal.terms=Φράσεις Υποχρεωτικότητας
|
legal.terms=Φράσεις Υποχρεωτικότητας
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Página
|
|||||||
pages=Páginas
|
pages=Páginas
|
||||||
loading=Cargando...
|
loading=Cargando...
|
||||||
addToDoc=Agregar al Documento
|
addToDoc=Agregar al Documento
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Política de Privacidad
|
legal.privacy=Política de Privacidad
|
||||||
legal.terms=Términos y Condiciones
|
legal.terms=Términos y Condiciones
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Chargement...
|
loading=Chargement...
|
||||||
addToDoc=Ajouter au Document
|
addToDoc=Ajouter au Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Politique de Confidentialité
|
legal.privacy=Politique de Confidentialité
|
||||||
legal.terms=Conditions Générales
|
legal.terms=Conditions Générales
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=पृष्ठ
|
|||||||
pages=पृष्ठों
|
pages=पृष्ठों
|
||||||
loading=डालिंग...
|
loading=डालिंग...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=गुप्तता सूचना
|
legal.privacy=गुप्तता सूचना
|
||||||
legal.terms=शर्तें और प्रवाह
|
legal.terms=शर्तें और प्रवाह
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Stranica
|
|||||||
pages=Stranice
|
pages=Stranice
|
||||||
loading=Učitavanje...
|
loading=Učitavanje...
|
||||||
addToDoc=Dodaj u dokument
|
addToDoc=Dodaj u dokument
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Politika privatnosti
|
legal.privacy=Politika privatnosti
|
||||||
legal.terms=Uspe sodržine
|
legal.terms=Uspe sodržine
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Oldal
|
|||||||
pages=Oldalak
|
pages=Oldalak
|
||||||
loading=Betöltés...
|
loading=Betöltés...
|
||||||
addToDoc=Hozzáadás dokumentumba
|
addToDoc=Hozzáadás dokumentumba
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Adatvédelmi nyilatkozat
|
legal.privacy=Adatvédelmi nyilatkozat
|
||||||
legal.terms=Feltételek és feltételek
|
legal.terms=Feltételek és feltételek
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Halaman
|
|||||||
pages=Halaman-halaman
|
pages=Halaman-halaman
|
||||||
loading=Mengambil data...
|
loading=Mengambil data...
|
||||||
addToDoc=Tambahkan ke Dokumen
|
addToDoc=Tambahkan ke Dokumen
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Kebijakan Privasi
|
legal.privacy=Kebijakan Privasi
|
||||||
legal.terms=Syarat dan Ketentuan
|
legal.terms=Syarat dan Ketentuan
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Pagina
|
|||||||
pages=Pagine
|
pages=Pagine
|
||||||
loading=Caricamento...
|
loading=Caricamento...
|
||||||
addToDoc=Aggiungi al documento
|
addToDoc=Aggiungi al documento
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Informativa sulla privacy
|
legal.privacy=Informativa sulla privacy
|
||||||
legal.terms=Termini e Condizioni
|
legal.terms=Termini e Condizioni
|
||||||
@@ -141,7 +142,7 @@ navbar.language=Lingue
|
|||||||
navbar.settings=Impostazioni
|
navbar.settings=Impostazioni
|
||||||
navbar.allTools=Strumenti
|
navbar.allTools=Strumenti
|
||||||
navbar.multiTool=Strumenti multipli
|
navbar.multiTool=Strumenti multipli
|
||||||
navbar.search=Search
|
navbar.search=Cerca
|
||||||
navbar.sections.organize=Organizza
|
navbar.sections.organize=Organizza
|
||||||
navbar.sections.convertTo=Converti in PDF
|
navbar.sections.convertTo=Converti in PDF
|
||||||
navbar.sections.convertFrom=Converti da PDF
|
navbar.sections.convertFrom=Converti da PDF
|
||||||
@@ -944,7 +945,7 @@ multiTool.downloadAll=Esporta
|
|||||||
multiTool.downloadSelected=Esporta selezionata
|
multiTool.downloadSelected=Esporta selezionata
|
||||||
|
|
||||||
#multiTool-advert
|
#multiTool-advert
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
multiTool-advert.message=Questa funzione è disponibile anche nella nostra <a href="{0}">pagina multi-strumento</a>. Scoprila per un'interfaccia utente pagina per pagina migliorata e funzionalità aggiuntive!
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Visualizza PDF
|
viewPdf.title=Visualizza PDF
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=プライバシーポリシー
|
legal.privacy=プライバシーポリシー
|
||||||
legal.terms=利用規約
|
legal.terms=利用規約
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=페이지
|
|||||||
pages=페이지
|
pages=페이지
|
||||||
loading=로딩 중...
|
loading=로딩 중...
|
||||||
addToDoc=문서에 추가
|
addToDoc=문서에 추가
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=개인 정보 정책
|
legal.privacy=개인 정보 정책
|
||||||
legal.terms=이용 약관
|
legal.terms=이용 약관
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Pagina
|
|||||||
pages=Pagen
|
pages=Pagen
|
||||||
loading=Laden...
|
loading=Laden...
|
||||||
addToDoc=Toevoegen aan document
|
addToDoc=Toevoegen aan document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacybeleid
|
legal.privacy=Privacybeleid
|
||||||
legal.terms=Voorwaarden van gebruik
|
legal.terms=Voorwaarden van gebruik
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Strona
|
|||||||
pages=Strony
|
pages=Strony
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Polityka Prywatności
|
legal.privacy=Polityka Prywatności
|
||||||
legal.terms=Zasady i Postanowienia
|
legal.terms=Zasady i Postanowienia
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Página
|
|||||||
pages=Páginas
|
pages=Páginas
|
||||||
loading=Carregando...
|
loading=Carregando...
|
||||||
addToDoc=Adicionar ao Documento
|
addToDoc=Adicionar ao Documento
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Política de Privacidade
|
legal.privacy=Política de Privacidade
|
||||||
legal.terms=Termos e Condições
|
legal.terms=Termos e Condições
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Página
|
|||||||
pages=Páginas
|
pages=Páginas
|
||||||
loading=A carregar...
|
loading=A carregar...
|
||||||
addToDoc=Adicionar ao Documento
|
addToDoc=Adicionar ao Documento
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Política de Privacidade
|
legal.privacy=Política de Privacidade
|
||||||
legal.terms=Termos e Condições
|
legal.terms=Termos e Condições
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Страница
|
|||||||
pages=Страницы
|
pages=Страницы
|
||||||
loading=Загрузка...
|
loading=Загрузка...
|
||||||
addToDoc=Добавить в документ
|
addToDoc=Добавить в документ
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Политика конфиденциальности
|
legal.privacy=Политика конфиденциальности
|
||||||
legal.terms=Условия использования
|
legal.terms=Условия использования
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Sidan
|
|||||||
pages=Sidor
|
pages=Sidor
|
||||||
loading=Laddar...
|
loading=Laddar...
|
||||||
addToDoc=Lägg till i dokument
|
addToDoc=Lägg till i dokument
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Dataprotektionspolicy
|
legal.privacy=Dataprotektionspolicy
|
||||||
legal.terms=Villkor och betingelser
|
legal.terms=Villkor och betingelser
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=หน้า
|
|||||||
pages=หน้า
|
pages=หน้า
|
||||||
loading=กำลังโหลด...
|
loading=กำลังโหลด...
|
||||||
addToDoc=เพิ่มเข้าสู่เอกสาร
|
addToDoc=เพิ่มเข้าสู่เอกสาร
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=นโยบายความเป็นส่วนตัว
|
legal.privacy=นโยบายความเป็นส่วนตัว
|
||||||
legal.terms=ข้อกำหนดการใช้งาน
|
legal.terms=ข้อกำหนดการใช้งาน
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Gizlilik Politikası
|
legal.privacy=Gizlilik Politikası
|
||||||
legal.terms=Şartlar ve koşullar
|
legal.terms=Şartlar ve koşullar
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ page=頁面
|
|||||||
pages=頁面
|
pages=頁面
|
||||||
loading=載入中...
|
loading=載入中...
|
||||||
addToDoc=新增至文件
|
addToDoc=新增至文件
|
||||||
|
reset=Reset
|
||||||
|
|
||||||
legal.privacy=隱私權政策
|
legal.privacy=隱私權政策
|
||||||
legal.terms=使用條款
|
legal.terms=使用條款
|
||||||
|
|||||||
@@ -9,81 +9,81 @@ const DraggableUtils = {
|
|||||||
|
|
||||||
init() {
|
init() {
|
||||||
interact(".draggable-canvas")
|
interact(".draggable-canvas")
|
||||||
.draggable({
|
.draggable({
|
||||||
listeners: {
|
listeners: {
|
||||||
move: (event) => {
|
move: (event) => {
|
||||||
const target = event.target;
|
const target = event.target;
|
||||||
const x = (parseFloat(target.getAttribute("data-bs-x")) || 0)
|
const x = (parseFloat(target.getAttribute("data-bs-x")) || 0)
|
||||||
+ event.dx;
|
+ event.dx;
|
||||||
const y = (parseFloat(target.getAttribute("data-bs-y")) || 0)
|
const y = (parseFloat(target.getAttribute("data-bs-y")) || 0)
|
||||||
+ event.dy;
|
+ event.dy;
|
||||||
|
|
||||||
target.style.transform = `translate(${x}px, ${y}px)`;
|
target.style.transform = `translate(${x}px, ${y}px)`;
|
||||||
target.setAttribute("data-bs-x", x);
|
target.setAttribute("data-bs-x", x);
|
||||||
target.setAttribute("data-bs-y", y);
|
target.setAttribute("data-bs-y", y);
|
||||||
|
|
||||||
this.onInteraction(target);
|
this.onInteraction(target);
|
||||||
//update the last interacted element
|
//update the last interacted element
|
||||||
this.lastInteracted = event.target;
|
this.lastInteracted = event.target;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
})
|
||||||
})
|
.resizable({
|
||||||
.resizable({
|
edges: { left: true, right: true, bottom: true, top: true },
|
||||||
edges: { left: true, right: true, bottom: true, top: true },
|
listeners: {
|
||||||
listeners: {
|
move: (event) => {
|
||||||
move: (event) => {
|
var target = event.target;
|
||||||
var target = event.target;
|
var x = parseFloat(target.getAttribute("data-bs-x")) || 0;
|
||||||
var x = parseFloat(target.getAttribute("data-bs-x")) || 0;
|
var y = parseFloat(target.getAttribute("data-bs-y")) || 0;
|
||||||
var y = parseFloat(target.getAttribute("data-bs-y")) || 0;
|
|
||||||
|
|
||||||
// check if control key is pressed
|
// check if control key is pressed
|
||||||
if (event.ctrlKey) {
|
if (event.ctrlKey) {
|
||||||
const aspectRatio = target.offsetWidth / target.offsetHeight;
|
const aspectRatio = target.offsetWidth / target.offsetHeight;
|
||||||
// preserve aspect ratio
|
// preserve aspect ratio
|
||||||
let width = event.rect.width;
|
let width = event.rect.width;
|
||||||
let height = event.rect.height;
|
let height = event.rect.height;
|
||||||
|
|
||||||
if (Math.abs(event.deltaRect.width) >= Math.abs(
|
if (Math.abs(event.deltaRect.width) >= Math.abs(
|
||||||
event.deltaRect.height)) {
|
event.deltaRect.height)) {
|
||||||
height = width / aspectRatio;
|
height = width / aspectRatio;
|
||||||
} else {
|
} else {
|
||||||
width = height * aspectRatio;
|
width = height * aspectRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
event.rect.width = width;
|
||||||
|
event.rect.height = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
event.rect.width = width;
|
target.style.width = event.rect.width + "px";
|
||||||
event.rect.height = height;
|
target.style.height = event.rect.height + "px";
|
||||||
}
|
|
||||||
|
|
||||||
target.style.width = event.rect.width + "px";
|
// translate when resizing from top or left edges
|
||||||
target.style.height = event.rect.height + "px";
|
x += event.deltaRect.left;
|
||||||
|
y += event.deltaRect.top;
|
||||||
|
|
||||||
// translate when resizing from top or left edges
|
target.style.transform = "translate(" + x + "px," + y + "px)";
|
||||||
x += event.deltaRect.left;
|
|
||||||
y += event.deltaRect.top;
|
|
||||||
|
|
||||||
target.style.transform = "translate(" + x + "px," + y + "px)";
|
target.setAttribute("data-bs-x", x);
|
||||||
|
target.setAttribute("data-bs-y", y);
|
||||||
target.setAttribute("data-bs-x", x);
|
target.textContent = Math.round(event.rect.width) + "\u00D7"
|
||||||
target.setAttribute("data-bs-y", y);
|
|
||||||
target.textContent = Math.round(event.rect.width) + "\u00D7"
|
|
||||||
+ Math.round(event.rect.height);
|
+ Math.round(event.rect.height);
|
||||||
|
|
||||||
this.onInteraction(target);
|
this.onInteraction(target);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
|
||||||
|
|
||||||
modifiers: [
|
modifiers: [
|
||||||
interact.modifiers.restrictSize({
|
interact.modifiers.restrictSize({
|
||||||
min: {width: 5, height: 5},
|
min: { width: 5, height: 5 },
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
inertia: true,
|
inertia: true,
|
||||||
});
|
});
|
||||||
//Arrow key Support for Add-Image and Sign pages
|
//Arrow key Support for Add-Image and Sign pages
|
||||||
if(window.location.pathname.endsWith('sign') || window.location.pathname.endsWith('add-image')) {
|
if (window.location.pathname.endsWith('sign') || window.location.pathname.endsWith('add-image')) {
|
||||||
window.addEventListener('keydown', (event) => {
|
window.addEventListener('keydown', (event) => {
|
||||||
//Check for last interacted element
|
//Check for last interacted element
|
||||||
if (!this.lastInteracted){
|
if (!this.lastInteracted) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Get the currently selected element
|
// Get the currently selected element
|
||||||
@@ -288,7 +288,7 @@ const DraggableUtils = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
parseTransform(element) {},
|
parseTransform(element) { },
|
||||||
async getOverlayedPdfDocument() {
|
async getOverlayedPdfDocument() {
|
||||||
const pdfBytes = await this.pdfDoc.getData();
|
const pdfBytes = await this.pdfDoc.getData();
|
||||||
const pdfDocModified = await PDFLib.PDFDocument.load(pdfBytes, {
|
const pdfDocModified = await PDFLib.PDFDocument.load(pdfBytes, {
|
||||||
@@ -308,6 +308,7 @@ const DraggableUtils = {
|
|||||||
const offsetWidth = pagesMap[pageIdx + "-offsetWidth"];
|
const offsetWidth = pagesMap[pageIdx + "-offsetWidth"];
|
||||||
const offsetHeight = pagesMap[pageIdx + "-offsetHeight"];
|
const offsetHeight = pagesMap[pageIdx + "-offsetHeight"];
|
||||||
|
|
||||||
|
|
||||||
for (const draggableData of draggablesData) {
|
for (const draggableData of draggablesData) {
|
||||||
// embed the draggable canvas
|
// embed the draggable canvas
|
||||||
const draggableElement = draggableData.element;
|
const draggableElement = draggableData.element;
|
||||||
@@ -324,6 +325,24 @@ const DraggableUtils = {
|
|||||||
width: draggableData.offsetWidth,
|
width: draggableData.offsetWidth,
|
||||||
height: draggableData.offsetHeight,
|
height: draggableData.offsetHeight,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Auxiliary variables
|
||||||
|
let widthAdjusted = page.getWidth();
|
||||||
|
let heightAdjusted = page.getHeight();
|
||||||
|
const rotation = page.getRotation();
|
||||||
|
|
||||||
|
//Normalizing angle
|
||||||
|
let normalizedAngle = rotation.angle % 360;
|
||||||
|
if (normalizedAngle < 0) {
|
||||||
|
normalizedAngle += 360;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Changing the page dimension if the angle is 90 or 270
|
||||||
|
if (normalizedAngle === 90 || normalizedAngle === 270) {
|
||||||
|
let widthTemp = widthAdjusted;
|
||||||
|
widthAdjusted = heightAdjusted;
|
||||||
|
heightAdjusted = widthTemp;
|
||||||
|
}
|
||||||
const draggablePositionRelative = {
|
const draggablePositionRelative = {
|
||||||
x: draggablePositionPixels.x / offsetWidth,
|
x: draggablePositionPixels.x / offsetWidth,
|
||||||
y: draggablePositionPixels.y / offsetHeight,
|
y: draggablePositionPixels.y / offsetHeight,
|
||||||
@@ -331,18 +350,36 @@ const DraggableUtils = {
|
|||||||
height: draggablePositionPixels.height / offsetHeight,
|
height: draggablePositionPixels.height / offsetHeight,
|
||||||
};
|
};
|
||||||
const draggablePositionPdf = {
|
const draggablePositionPdf = {
|
||||||
x: draggablePositionRelative.x * page.getWidth(),
|
x: draggablePositionRelative.x * widthAdjusted,
|
||||||
y: draggablePositionRelative.y * page.getHeight(),
|
y: draggablePositionRelative.y * heightAdjusted,
|
||||||
width: draggablePositionRelative.width * page.getWidth(),
|
width: draggablePositionRelative.width * widthAdjusted,
|
||||||
height: draggablePositionRelative.height * page.getHeight(),
|
height: draggablePositionRelative.height * heightAdjusted,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Defining the image if the page has a 0-degree angle
|
||||||
|
let x = draggablePositionPdf.x
|
||||||
|
let y = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height
|
||||||
|
|
||||||
|
|
||||||
|
//Defining the image position if it is at other angles
|
||||||
|
if (normalizedAngle === 90) {
|
||||||
|
x = draggablePositionPdf.y + draggablePositionPdf.height;
|
||||||
|
y = draggablePositionPdf.x;
|
||||||
|
} else if (normalizedAngle === 180) {
|
||||||
|
x = widthAdjusted - draggablePositionPdf.x;
|
||||||
|
y = draggablePositionPdf.y + draggablePositionPdf.height;
|
||||||
|
} else if (normalizedAngle === 270) {
|
||||||
|
x = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height;
|
||||||
|
y = widthAdjusted - draggablePositionPdf.x;
|
||||||
|
}
|
||||||
|
|
||||||
// draw the image
|
// draw the image
|
||||||
page.drawImage(pdfImageObject, {
|
page.drawImage(pdfImageObject, {
|
||||||
x: draggablePositionPdf.x,
|
x: x,
|
||||||
y: page.getHeight() - draggablePositionPdf.y - draggablePositionPdf.height,
|
y: y,
|
||||||
width: draggablePositionPdf.width,
|
width: draggablePositionPdf.width,
|
||||||
height: draggablePositionPdf.height,
|
height: draggablePositionPdf.height,
|
||||||
|
rotate: rotation
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,23 +23,26 @@
|
|||||||
</form>
|
</form>
|
||||||
<p id="instruction-text" style="margin: 0; display: none" th:text="#{PDFToCSV.prompt}"></p>
|
<p id="instruction-text" style="margin: 0; display: none" th:text="#{PDFToCSV.prompt}"></p>
|
||||||
|
|
||||||
<div style="position: relative; display: inline-block;">
|
<div style="position: relative; width: auto;" id="canvasesContainer">
|
||||||
<div>
|
<div>
|
||||||
<div style="display:none ;margin: 3px;position: absolute;top: 0;width: 120px;justify-content:space-between;z-index: 10" id="pagination-button-container">
|
<div style="display:none ;margin: 3px;position: absolute;top: 0;width: 120px;justify-content:space-between;z-index: 10" id="pagination-button-container">
|
||||||
<button id='previous-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> < </button>
|
<button id='previous-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> < </button>
|
||||||
<button id='next-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> > </button>
|
<button id='next-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> > </button>
|
||||||
</div>
|
</div>
|
||||||
<canvas id="crop-pdf-canvas" style="position: absolute; top: 0; left: 0; z-index: 1;"></canvas>
|
<canvas id="cropPdfCanvas" style="width: 100%"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<canvas id="overlayCanvas" style="position: absolute; top: 0; left: 0; z-index: 2;"></canvas>
|
<canvas id="overlayCanvas" style="position: absolute; top: 0; left: 0; z-index: 2; width: 100%"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
||||||
<script>
|
<script>
|
||||||
let pdfCanvas = document.getElementById('crop-pdf-canvas');
|
let pdfCanvas = document.getElementById('cropPdfCanvas');
|
||||||
let overlayCanvas = document.getElementById('overlayCanvas');
|
let overlayCanvas = document.getElementById('overlayCanvas');
|
||||||
|
let canvasesContainer = document.getElementById('canvasesContainer');
|
||||||
|
canvasesContainer.style.display = "none";
|
||||||
// let paginationBtnContainer = ;
|
// let paginationBtnContainer = ;
|
||||||
|
|
||||||
let context = pdfCanvas.getContext('2d');
|
let context = pdfCanvas.getContext('2d');
|
||||||
|
let overlayContext = overlayCanvas.getContext('2d');
|
||||||
|
|
||||||
let btn1Object = document.getElementById('previous-page-btn');
|
let btn1Object = document.getElementById('previous-page-btn');
|
||||||
let btn2Object = document.getElementById('next-page-btn');
|
let btn2Object = document.getElementById('next-page-btn');
|
||||||
@@ -60,6 +63,8 @@
|
|||||||
let rectWidth = 0;
|
let rectWidth = 0;
|
||||||
let rectHeight = 0;
|
let rectHeight = 0;
|
||||||
|
|
||||||
|
let timeId = null; // timeout id for resizing canvases event
|
||||||
|
|
||||||
btn1Object.addEventListener('click',function (e){
|
btn1Object.addEventListener('click',function (e){
|
||||||
if (currentPage !== 1) {
|
if (currentPage !== 1) {
|
||||||
currentPage = currentPage - 1;
|
currentPage = currentPage - 1;
|
||||||
@@ -102,14 +107,13 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
fileInput.addEventListener('change', function(e) {
|
function renderPageFromFile(file) {
|
||||||
file = e.target.files[0];
|
|
||||||
if (file.type === 'application/pdf') {
|
if (file.type === 'application/pdf') {
|
||||||
let reader = new FileReader();
|
let reader = new FileReader();
|
||||||
reader.onload = function(ev) {
|
reader.onload = function (ev) {
|
||||||
let typedArray = new Uint8Array(reader.result);
|
let typedArray = new Uint8Array(reader.result);
|
||||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||||
pdfjsLib.getDocument(typedArray).promise.then(function(pdf) {
|
pdfjsLib.getDocument(typedArray).promise.then(function (pdf) {
|
||||||
pdfDoc = pdf;
|
pdfDoc = pdf;
|
||||||
totalPages = pdf.numPages;
|
totalPages = pdf.numPages;
|
||||||
renderPage(currentPage);
|
renderPage(currentPage);
|
||||||
@@ -117,9 +121,37 @@
|
|||||||
pageId.value = currentPage;
|
pageId.value = currentPage;
|
||||||
};
|
};
|
||||||
reader.readAsArrayBuffer(file);
|
reader.readAsArrayBuffer(file);
|
||||||
document.getElementById("pagination-button-container").style.display="flex";
|
document.getElementById("pagination-button-container").style.display = "flex";
|
||||||
document.getElementById("instruction-text").style.display="block";
|
document.getElementById("instruction-text").style.display = "block";
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener("resize", function() {
|
||||||
|
clearTimeout(timeId);
|
||||||
|
timeId = setTimeout(function () {
|
||||||
|
if (fileInput.files.length == 0) return;
|
||||||
|
let canvasesContainer = document.getElementById('canvasesContainer');
|
||||||
|
let containerRect = canvasesContainer.getBoundingClientRect();
|
||||||
|
|
||||||
|
context.clearRect(0, 0, pdfCanvas.width, pdfCanvas.height);
|
||||||
|
|
||||||
|
overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);
|
||||||
|
|
||||||
|
pdfCanvas.width = containerRect.width;
|
||||||
|
pdfCanvas.height = containerRect.height;
|
||||||
|
|
||||||
|
overlayCanvas.width = containerRect.width;
|
||||||
|
overlayCanvas.height = containerRect.height;
|
||||||
|
|
||||||
|
let file = fileInput.files[0];
|
||||||
|
renderPageFromFile(file);
|
||||||
|
}, 1000);
|
||||||
|
});
|
||||||
|
|
||||||
|
fileInput.addEventListener('change', function(e) {
|
||||||
|
canvasesContainer.style.display = "block"; // set for visual purposes
|
||||||
|
file = e.target.files[0];
|
||||||
|
renderPageFromFile(file);
|
||||||
});
|
});
|
||||||
|
|
||||||
function renderPage(pageNumber) {
|
function renderPage(pageNumber) {
|
||||||
|
|||||||
@@ -83,9 +83,6 @@
|
|||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
|
||||||
<button type="button" id="resetFileInputBtn" class="btn btn-danger" onclick="removeAllElements()" th:text="#{reset}">Reset</button>
|
|
||||||
</div>
|
|
||||||
<div id="selected-pages-display" class="selected-pages-container hidden">
|
<div id="selected-pages-display" class="selected-pages-container hidden">
|
||||||
<div style="display:flex; height:3rem; margin-right:1rem">
|
<div style="display:flex; height:3rem; margin-right:1rem">
|
||||||
<h5 th:text="#{multiTool.selectedPages}" style="white-space: nowrap; margin-right: 1rem;">Selected
|
<h5 th:text="#{multiTool.selectedPages}" style="white-space: nowrap; margin-right: 1rem;">Selected
|
||||||
@@ -165,4 +162,4 @@
|
|||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user