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.