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.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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.
翻譯準備中
取自儲存庫 README
正在載入完整 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).檢視完整 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.