TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Professional PDF converter: convert JPG, PNG, HEIC, WebP, TIFF and SVG images, Word, Excel and PowerPoint files, and TXT, CSV, Markdown and JSON files to PDF, merge PDFs and turn PDFs into images. You
ProductivityTypeScript · JavaScriptGitHub @Simdev33OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Professional PDF converter: convert JPG, PNG, HEIC, WebP, TIFF and SVG images, Word, Excel and PowerPoint files, and TXT, CSV, Markdown and JSON files to PDF, merge PDFs and turn PDFs into images. Your images, texts and PDFs stay in your browser. 7-day full access for €1.00.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Profi PDF konvertáló Next.js-ben, öt nyelven (fő nyelv az angol, továbbá magyar, német, francia, spanyol). A képek, szöveges fájlok és PDF-ek feldolgozása a böngészőben történik – ezek nem kerülnek szerverre. Egyedül a Word-, Excel- és PowerPoint-fájlokat alakítja át a szerver (lásd lent).Read the full README ↗
Profi PDF konvertáló Next.js-ben, öt nyelven (fő nyelv az angol, továbbá magyar, német, francia, spanyol). A képek, szöveges fájlok és PDF-ek feldolgozása a böngészőben történik – ezek nem kerülnek szerverre. Egyedül a Word-, Excel- és PowerPoint-fájlokat alakítja át a szerver (lásd lent).
PDF-be konvertálás (/)
PDF-ből kép (/pdf-to-image)
Előfizetés: a konvertálás és az előnézet díjmentes, az elkészült fájlok letöltéséhez előfizetés kell: 7 nap teljes hozzáférés 1,00 €, utána 9,90 €/hó, bármikor lemondható (Stripe). Jelszó nincs: a fizetéskor megadott e-mail-címmel, e-mailben kapott kóddal lehet belépni; a Fiókom oldalon (/account) a Stripe ügyfélportálján mondható le.
Jogi oldalak: Általános szerződési feltételek (/terms) és adatkezelési tájékoztató (/privacy), minden nyelven; az üzemeltető a TourCierge s. r. o. (Pozsony).
| Oldal | angol | magyar | német | francia | spanyol |
|---|---|---|---|---|---|
| Konvertáló | / | /hu | /de | /fr | /es |
| PDF-ből kép | /pdf-to-image | /hu/pdf-bol-kep | /de/pdf-in-bild | /fr/pdf-en-image | /es/pdf-a-imagen |
| ÁSZF | /terms | /hu/aszf | /de/agb | /fr/conditions | /es/terminos |
| Adatvédelem | /privacy | /hu/adatvedelem | /de/datenschutz | /fr/confidentialite | /es/privacidad |
| Fiókom | /account | /hu/fiok | /de/konto | /fr/compte | /es/cuenta |
app/(en)), a többi nyelv közös, előtagos útvonalon fut (app/[lang]); mind statikusan generált. A két gyökér-layout miatt a 404-et az app/global-not-found.tsx adja (experimental.globalNotFound).src/proxy.ts): aki először nyitja meg a / címet, azt a böngészője nyelve (Accept-Language) szerint átirányítja a saját nyelvére (pl. magyar böngésző → /hu); ha a böngésző nyelvét nem ismerjük, angol marad. A nyelvváltóban (fejléc, lábléc) választott nyelvet a pk_lang süti egy évig megjegyzi, onnantól nincs átirányítás. A kereső-robotok (nyelv nélkül) az angol gyökeret látják. A kézzel beírt /en/… a /… címre visz./pdf-bol-kep, /aszf, /adatvedelem, /fiok) végleges átirányítással a /hu/… alá mutatnak (next.config.ts).src/i18n/config.ts (DEFAULT_LOCALE, SLUGS, pathFor). Az angol mappanevek a SLUGS.en értékei – ha egyiket átnevezed, a mappát is.src/i18n/ui/* (a felület, csak az aktív nyelv kerül a böngészőbe), src/i18n/site/* (nyitóoldalak, metaadatok, API-hibák), src/i18n/legal/* (jogi szövegek). A forrás a magyar; a src/i18n/i18n.test.ts ellenőrzi, hogy minden fordításban ugyanazok a kulcsok, {helykitöltők} és linkek szerepelnek.hreflang alternatívák az oldalakon és a sitemap.xml-ben, nyelvenkénti OG-kép.A nehéz könyvtárak (pdf.js, pdf-lib, fontkit, HEIC-dekódoló) csak akkor töltődnek be, amikor szükség van rájuk.
Node.js 22.13+ szükséges.
npm install
npm run dev
Majd nyisd meg: http://localhost:3000
| Parancs | Leírás |
|---|---|
npm run dev | fejlesztői szerver |
npm run build / npm start | production build és futtatás |
npm test | unit tesztek (Vitest) |
npm run lint / npm run typecheck | ESLint / TypeScript ellenőrzés |
A scripts/copy-assets.mjs (automatikusan fut install, dev és build előtt) a pdf.js workerét és adatfájljait a public/pdfjs/<verzió>/, a Noto betűket a public/fonts/ mappába másolja.
Az ikon forrása a src/app/icon.svg (ez a favicon is); ha módosítod, az npm run icons újragenerálja belőle a favicon.ico-t, az apple-icon.png-t és a manifest ikonjait (public/icon-192.png, public/icon-512.png). A fejléc logója (src/components/brand.tsx) és a megosztási kép (src/components/og-image.tsx) ugyanezt a rajzot használja.
Élesítéskor állítsd be a NEXT_PUBLIC_SITE_URL környezeti változót (https://convertpdfnow.com) a helyes canonical-, hreflang-, sitemap- és Open Graph-linkekhez. Ha nincs megadva, Vercelen a projekt éles domainje (VERCEL_PROJECT_PRODUCTION_URL) lesz az alapcím.
Az ÁSZF és az adatkezelési tájékoztató üzemeltetői adatai (név, cím, e-mail, nyilvántartási szám, adószám) a src/lib/site.ts operator mezőjében vannak; ami üres, az a jogi oldalakon kiemelt „kitöltendő” jelöléssel látszik. Ugyanitt van a hatálybalépés dátuma (legalEffective).
A környezeti változók listája a .env.example-ben van (helyben: .env.local, Vercelen: Project → Settings → Environment Variables).
| Változó | Mire kell |
|---|---|
STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Stripe-kulcsok (tesztre sk_test_… / pk_test_…) |
SESSION_SECRET | a belépési sütik aláírása (hosszú véletlen szöveg) |
RESEND_API_KEY, EMAIL_FROM | belépési kódok e-mailben (Resend); kulcs nélkül fejlesztéskor a kód a szervernaplóba kerül |
STRIPE_PRICE_TRIAL, STRIPE_PRICE_MONTHLY | nem kötelező: meglévő Stripe-árak; üresen az app első használatkor létrehozza a „ConvertPDFNow” terméket és a két árat (1,00 € egyszeri, 9,90 €/hó) |
Működés:
src/lib/server/billing.ts), a belépett ügyfelet aláírt, httpOnly süti azonosítja (src/lib/server/session.ts). A belépési kód hash-e, lejárata és a próbálkozások száma (max. 5) a Stripe-ügyfél metaadataiban van (src/lib/server/login.ts).ui_mode: "elements" – saját fizetési oldal expressz gombokkal (Apple Pay, Google Pay, PayPal, Link) és kártyaűrlappal (src/components/paywall/). Az előfizetés 7 napos próbaidő, az első számlán 1,00 € egyszeri díjjal. Egylépéses: a Checkout Session a fizetési ablak megnyitásakor jön létre (ügyfél nélkül, 1 órás lejárattal), az e-mail-mező és a kártyaűrlap egyből látszik. Fizetés előtt a /api/checkout/email nézi meg, van-e már aktív előfizetés a címhez – ha igen, fizetés helyett belépést kér. Az ügyfelet a Stripe hozza létre a sikeres fizetéskor, a /api/checkout/complete pedig utólag megjelöli (metadata.app = "pdf-konvertalo"), mert a Stripe-fiókon más oldalak is osztoznak.src/lib/deliver.ts). Átirányító fizetési módnál (PayPal) az elkészült fájl legfeljebb 60 percig az eszközön, IndexedDB-ben vár (src/lib/pending-result.ts).X-Preview: 1, a teljes hosszt az X-Page-Count fejléc mondja meg), és IP-címenként 10 percenként legfeljebb 60 ilyen kérést fogad. Ha az eredményben ilyen előnézet van, fizetés (vagy belépés) után az oldal a teljes dokumentumokkal automatikusan újra lefuttatja a konvertálást, és elindítja a letöltést; átirányító fizetésnél ehhez a bemeneti fájlok is az IndexedDB-ben várnak.POST /api/checkout, POST /api/checkout/email, POST /api/checkout/complete, GET|DELETE /api/account, POST /api/account/portal, POST /api/auth/request, POST /api/auth/verify.A Stripe felületén élesítés előtt:
A POST /api/office-to-pdf végpont (src/app/api/office-to-pdf/route.ts, motor: src/lib/server/office.ts) egy file mezőben kapott Word-, Excel- vagy PowerPoint-fájlt ad vissza PDF-ként – előfizetőnek a teljeset, mindenki másnak csak az első oldalát (lásd fent). Az átalakító sorrendje:
| Motor | Mikor | Megjegyzés |
|---|---|---|
| Gotenberg | ha be van állítva a GOTENBERG_URL (Vercelen automatikusan, lásd lent) | saját szerveren: docker run -p 3000:3000 gotenberg/gotenberg:8-libreoffice + GOTENBERG_URL=http://localhost:3000 |
| LibreOffice | ha a soffice elérhető (SOFFICE_PATH, vagy a szokásos telepítési helyek) | pl. Docker-képbe: apt-get install libreoffice-writer libreoffice-calc libreoffice-impress |
| Microsoft Word / Excel / PowerPoint | Windowson, ha telepítve van (alkalmazásonként) | fejlesztéshez; COM-automatizálás PowerShellből, makrók tiltva. A PowerPointból csak egy példány fut: ha a felhasználónak nyitva van, a konverzió nem zárja be |
A Vercel függvényeiben nincs irodai program, ezért a vercel.json Vercel Services-szel (béta) két szolgáltatást futtat egy projektben:
web – a Next.js-alkalmazás (a repó gyökere), minden nyilvános kérés ide megy;gotenberg – a gotenberg/Dockerfile.vercel konténere (gotenberg/gotenberg:8.37-libreoffice, Chromium nélkül). Nincs nyilvános útvonala, csak a web éri el belső kapcsolaton (binding): a Vercel a címét futásidőben a GOTENBERG_URL változóba teszi, így semmit nem kell kézzel beállítani.Tudnivalók:
vercel.json Vercel Services: Next.js + belső Gotenberg
gotenberg/ a Gotenberg-szolgáltatás konténere (Dockerfile.vercel)
src/
app/
(en)/ angol oldalak a gyökérben (/, /pdf-to-image, /terms, /privacy, /account) + gyökér-layout
[lang]/ magyar, német, francia, spanyol oldalak lefordított címekkel + gyökér-layout
api/ Office → PDF, fizetés, belépés, fiók
proxy.ts első látogatáskor a böngésző nyelvére irányít
global-not-found.tsx, sitemap.ts, robots.ts, icon.svg
i18n/ nyelvek, címek, szótárak (ui / site / legal), fordítási segédek
components/
site-shell.tsx közös <html>-váz (betűk, téma, nyelv, fejléc)
pages.tsx oldaltartalom és metaadatok oldalazonosító szerint
legal-page.tsx ÁSZF / adatvédelem megjelenítése
converter/ PDF-be konvertálás munkafelülete (kártyák, beállítások)
pdf-to-image/ PDF-ből kép munkafelülete
landing/ nyitóoldalak
overlays/ közös rétegek (jelszó, folyamat, eredmény, értesítések, drag & drop)
ui/ alap UI-elemek
lib/
convert/ konvertáló motor: formátumfelismerés, képfeldolgozás, oldalelrendezés, szövegszedés
pdf/ pdf.js és pdf-lib réteg
server/ szerveroldali Office-átalakító (Gotenberg / LibreOffice / MS Office)
converter.ts fájlok importálása, konvertálás indítása
pdf-to-image.ts PDF → kép export
store.ts állapot (zustand)
heic-to, libheif) LGPL-3.0 licencű; külön, igény szerint betöltött fájlként kerül a böngészőbe.