pdf_info
PDF info
Page count, page sizes, metadata, encryption and form fields of a PDF.
file必填passwordcom.ionelul由 ionelul.com 發布v0.12.0更新於 Oct 30, 2026
Local tools: PDF, Office, e-Factura, OCR, images, video, speech, translation and nutrition.
本機 stdio MCP 伺服器,整合 PDF、Office、電子發票、文字、影像、影片、語音、翻譯與營養等離線工具。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
PDF info
Page count, page sizes, metadata, encryption and form fields of a PDF.
file必填passwordMerge PDFs
Joins PDFs into one, in the order given. Each input can pick its pages ("1-3, 5, 8-").
files必填output必填overwriteSplit PDF
Splits a PDF into several files: one per range ("1-3, 4-6") or every N pages.
file必填everyrangespasswordoutputDiroverwriteReorder, rotate or delete PDF pages
Builds a new PDF from the pages listed, in that order (pages left out are deleted), optionally rotating some of them.
file必填pagesoutputrotatepasswordoverwriterotatePagesWatermark, number, protect or unlock a PDF
Adds a text watermark and/or page numbers, sets metadata, and protects with a password. With `password` and no `protect`, the output is an unlocked copy.
file必填outputprotectmetadatapasswordoverwritewatermarkpageNumbersRead PDF form fields
Lists the fillable (AcroForm) fields of a PDF with their type, current value and options.
file必填passwordFill a PDF form
Writes values into fillable fields (names from pdf_form_read). Diacritics are supported.
file必填outputvalues必填flattenpasswordoverwritePDF to Excel
Finds tables in a PDF from its text layout and writes them to .xlsx (or .csv). Works on statements, price lists and reports; not on scans.
file必填layoutoutputnumberspasswordoverwriteincludeTextPDF to Word
Rebuilds the text of a PDF as an editable .docx: paragraphs, headings, bold and italic. Tables and columns come out as paragraphs; scanned pages are skipped.
file必填outputpasswordoverwriteSign or stamp a PDF
Places a signature, stamp or logo image (a transparent PNG works best; JPEG, WebP, AVIF and JPEG XL too) on chosen pages, at a corner or at exact millimetres, keeping its proportions. This is a visible signature, not a cryptographic (digital certificate) one.
xMMyMMfile必填image必填pagesoutputwidthMMmarginMMpasswordpositionoverwriteWord, Excel or PowerPoint to PDF
Converts .docx, .xlsx, .pptx or .odp to PDF without Office installed. Layout is redrawn, so it is close to but not identical with Office output; GIF/WebP/BMP pictures show as placeholders.
file必填outputgridlinesoverwritepageNumbersincludeHiddenAnonymize a document
Finds personal data in a .docx or text file (or in `text`) and replaces it: names after titles and court roles (Mr., Frau, domnul, reclamantul…), addresses, national ID numbers checked by their control digit (CNP, PESEL, EGN, TC Kimlik, DNI/NIE, codice fiscale, NIR, SSN, NINO, rodné číslo), ID card and passport numbers, dates of birth, e-mails, phones, IBANs and cards, licence plates and IPs; companies and places on request. The same person always gets the same label ([Person 1]). Word files keep their formatting; author fields are cleared. Rules only (no AI model), so names with no title before them are found only when they also appear after one, or via `terms`. The originals are never returned: only counts, so the result can be shown to a model safely. Run it before reading a confidential file.
filehidekeeptextstyletermsoutputlanguageoverwritekey_outputLegal deadline
The last day of a procedural or legal time limit, with each counting step explained. Systems: ro-civil (Romanian Civil Procedure Code art. 181-183, clear days: neither first nor last day counts), ro-criminal (CPP art. 269, same), ro-custody (CPP art. 271, preventive measures: both ends count, no holiday extension), ro-civil-code (Civil Code art. 2551-2553, limitation periods), eu (Regulation 1182/71), generic (calendar or working days). A last day on a weekend or public holiday moves to the next working day. Public holidays are computed for any year for: RO, BG, DE, AT, FR, BE, NL, ES, IT, PT, PL, CZ, SK, HU, GB, IE, US (GB = England and Wales, US = federal).
unit必填start必填amount必填extendsystem必填countrydays_offlanguagedirectionLegal letter
Writes a ready-to-send letter citing the right articles: GDPR requests (gdprAccess art. 15, gdprRectification art. 16, gdprErasure art. 17, gdprObjection art. 21, gdprPortability art. 20, gdprConsent art. 7(3)), a formalNotice to pay (in Romanian it cites art. 1522 Civil Code and art. 1014 CPC) or a powerOfAttorney, in any of 14 languages, as PDF, .docx or plain text. Fields left empty show as ________ and are listed in the reply.
dateplacefieldsoutputsender必填document必填languageoverwriterecipientRead and check an e-Factura
Reads a Romanian e-Factura (UBL 2.1 XML, or the .zip downloaded from ANAF SPV) and checks that its totals add up (EN 16931 BR-CO rules). Does not validate against the ANAF schema.
file必填fulle-Factura to PDF
Turns an e-Factura XML (or every invoice in an ANAF .zip) into a readable A4 PDF.
file必填languageoutputDiroverwriteCV to PDF with LaTeX
Typesets a CV with XeLaTeX (TeX Live 2026) on this machine and writes the PDF. Give structured `cv` data for the Classic, Modern or Academic template (Academic: Latin Modern with small caps, a skills table, education grouped by school), or your own LaTeX in `tex`/`texFile`. Projects and awards take one line as a paragraph, several as bullets. Only bundled packages are available (fontspec, geometry, xcolor, enumitem, titlesec, hyperref, tabularx, multicol, paracol, fontawesome5 and their dependencies); fonts: Linux Libertine, Biolinum, Latin Modern. The first call downloads the engine (~21 MB) from app.ionelul.com and caches it; the CV is never sent anywhere.
cvtexlangaccentoutputsaveTextexFiletemplateoverwriteRemove image metadata
Removes EXIF (GPS, camera, dates), XMP, IPTC and comments from JPEG, PNG and WebP without re-encoding: pixels stay byte for byte. Rotated photos keep only their orientation.
files必填inPlaceoutputDirFile checksums
Hashes files (streamed, so large files are fine) and optionally verifies them against an expected hash or a checksum file (sha256sum, md5sum or BSD format).
files必填expectedalgorithmschecksumFileRomanian diacritics
Adds missing Romanian diacritics (ă â î ș ț) from a dictionary of ~70,000 words, fixes the old cedilla letters (ş ţ to ș ț), or removes diacritics. With `add`, words that can be spelled more than one way get the most common form and are listed with their alternatives.
filemode必填textoutputoverwriteText statistics
Counts words, characters (with and without spaces), sentences, paragraphs, lines and unique words; reading and speaking time; top keywords with their density.
filetextChange case and clean up text
Converts text to a case (upper, lower, sentence, title, capitalize, inverse, alternating, camel, pascal, snake, constant, kebab, dot) or cleans it up (trim spaces, collapse blank lines, join lines, unwrap lines broken by PDF copies, straight quotes, sort, dedupe or reverse lines). Locale-aware (Turkish i, Romanian ș).
casefilelangtextoutputcleanupoverwriteCompare two texts
Line-by-line comparison of two texts or files, as a unified diff (like `diff -u`), with the number of lines added and removed.
leftrightcontextleftFilerightFileignoreCaseignoreWhitespaceBase64 and URL encoding
Encodes text or any file to Base64 (optionally URL-safe or wrapped at 76 columns, e.g. for data: URLs and e-mail), decodes Base64 back to text or to a file, and percent-encodes or decodes URLs.
filemode必填textwrapoutputfullUrlurlSafeoverwriteGenerate passwords
Generates passwords, passphrases (EFF long word list, 7,776 words) or PINs with a cryptographically secure random generator, without modulo bias, and reports their entropy and strength.
kindcountlowerupperwordsdigitslengthnumberexcludesymbolsseparatorcapitalize另有 1 個Generate or inspect UUIDs
Generates random UUIDs (v4) or time-ordered ones (v7, sortable by creation time), or inspects a UUID: its version, variant and, for v7, the time it was made.
countupperbraceshyphensinspectversionMarkdown to HTML
Converts Markdown (GitHub flavour: tables, task lists, fenced code) to an HTML fragment, or to a complete styled HTML page titled after the first heading.
filepagetextoutputoverwriteTest a regular expression
Runs a JavaScript regular expression on a text: every match with its position and capture groups (numbered and named), and optionally the text with a replacement applied.
filetextflagslimitpattern必填replaceWrite a regular expression
Writes a JavaScript regular expression, without AI: from examples of what should (and optionally should not) match, worked out run by run and checked on every example; or from a description, picked from a library of common patterns (email, URL, IP, IBAN, Romanian CNP/CUI/plates/phones, dates, times, money, UUID...); or from a format such as "DD.MM.YYYY" or "AA 99 AAA" (9 a digit, A an upper-case letter, a lower-case, X letter or digit, DD/MM/YYYY/HH/mm date and time parts, \ for a literal).
wholeexamplesdescriptioncounterExamplesSummarize a text
Extractive summary in any language: the sentences that best stand for the whole text (TextRank on TF-IDF), word for word and in their original order. No AI model, nothing invented.
filetextshareoutputoverwriteLorem ipsum
Placeholder text: paragraphs, sentences or words, optionally starting with the classic "Lorem ipsum dolor sit amet" and wrapped in <p> tags.
htmlunitcountclassicTranslate text offline
Translates text or a text file (.txt, .md, .srt, .vtt, .csv) between en, ro, de, fr, es, it, pt, nl, pl, hu, cs, bg, uk, tr, ru with OPUS-MT and M2M100 AI models, on this machine. Lines, paragraphs and subtitle timings are kept. The source language is detected when left out. The first call installs Transformers.js with ONNX Runtime (about 450 MB); each model is downloaded once (OPUS-MT about 113 MB, M2M100 about 632 MB).
to必填filefromtextoutputoverwriteConvert units
Converts a value between units of one category, including temperature and fuel economy. Units by id: length: m, km, cm, mm, um, mi, yd, ft, in, nmi; mass: kg, g, mg, t, lb, oz, st, ct; volume: l, ml, m3, cm3, galus, galuk, qt, pt, cup, floz, tbsp, tsp; area: m2, km2, ha, cm2, mi2, ac, yd2, ft2, in2; temperature: c, f, k; speed: ms, kmh, mph, kn, fts, mach; time: ms, s, min, h, d, wk, mo, yr; data: bit, B, KB, MB, GB, TB, PB, KiB, MiB, GiB, TiB; energy: j, kj, cal, kcal, wh, kwh, btu, ev; power: w, kw, mw, hp, ps, btuh; pressure: pa, kpa, mpa, bar, mbar, atm, psi, mmhg; angle: deg, rad, grad, turn; fuel: kml, l100, mpgus, mpguk.
tofrom必填value必填Convert currencies
Converts an amount between currencies at the European Central Bank reference rates (published each working day, via the Frankfurter API). Only the rate list is fetched; the amount stays on this machine.
tofrom必填amount必填Unix timestamps and time zones
Turns a Unix timestamp (seconds, ms, µs or ns, detected by length) or a wall-clock date and time in a zone into the instant in UTC, the time in other IANA zones (with daylight saving) and every timestamp unit. With nothing given it uses now.
dateunitzonezonestimestampColour formats and contrast
Converts a colour (hex, rgb(), hsl(), hwb(), hsv(), cmyk(), lab(), lch(), oklab(), oklch(); not CSS names) to every format. With `background`, gives the WCAG 2 contrast ratio, the AA/AAA verdicts and, when it fails, the nearest colour that passes. Can add a tint/shade scale and harmonies.
color必填scaletargetharmoniesbackgroundDaily calorie and macro targets
Daily calories, protein, carbohydrates, fat, fibre and water for an adult, from the Mifflin-St Jeor resting energy times an activity factor, with 250-750 kcal taken off to lose weight or added to gain (never below 1200 kcal for women, 1500 for men). Also BMI. Estimates, not medical advice.
age必填sex必填goalheight必填weight必填activity必填Search everyday foods
Looks up everyday foods (fruit, vegetables, grains, dairy, meat, fish, legumes, nuts, fats, sweets, drinks, dishes) in a built-in list of about 170, with Romanian dishes, and gives their calories and macros per 100 g and a usual portion. Names match in the chosen language, in English or in any other. Offline.
limitquery必填categorylanguageNutrition of a meal
Adds up the calories and macros of foods from food_search (by id) in grams or portions, item by item and in total. For packaged food, pass its values per 100 g from food_barcode as a custom item.
items必填languagePackaged food by barcode
Calories and macros of a packaged product from its EAN/UPC barcode (8, 12, 13 or 14 digits), from Open Food Facts. Only the code is sent. Use code_read first to get the code from a photo.
code必填gramslanguageRecipe ideas for what is left of the day
Suggests built-in recipes (breakfast, lunch, dinner, snack; Romanian dishes included) whose serving fits the calories left, preferring protein-rich ones, with nutrition per serving, ingredients and steps in the chosen language.
kcal必填meallimitproteinlanguageCreate a QR code
Makes a QR code as SVG (styled dots and eyes, any size) or PNG (square modules) from text, a link, Wi-Fi login, e-mail, phone, SMS, contact card, location or calendar event. Fields per type: url: url; text: text; wifi: ssid, password, security, hidden; email: to, subject, body; phone: phone; sms: phone, message; vcard: firstName, lastName, phone, email, company, title, website, street, city, zip, country; location: lat, lng; event: title, start, end, location, description. UTF-8, so diacritics and emoji work.
sizetexttypecolorlevelfieldsmarginoutput必填dotStyleoverwritebackgroundeyeDotStyle另有 1 個Create a barcode
Makes a barcode as SVG (sized in mm, prints at exact size) or PNG (at a DPI, written into the file): EAN-13, EAN-8, UPC-A, UPC-E, ISBN, Code 128, Code 39, Code 93, ITF-14, Interleaved 2 of 5, GS1-128, Codabar, Data Matrix, GS1 Data Matrix, PDF417 and Aztec. EAN/UPC check digits are added when left out.
dpitext必填type必填coloroutput必填heightMMmoduleMMshowTextoverwritebackgroundRead QR codes and barcodes
Finds and decodes every QR code, Micro QR, Data Matrix, Aztec, PDF417 and 1D barcode (EAN, UPC, Code 128/39/93, ITF, Codabar, DataBar) in a PNG, JPEG, GIF or BMP image, and explains the content: Wi-Fi login, contact card, event, payment, GS1 fields, product code or link (with its domain).
files必填Convert, compress and resize images
Re-encodes JPEG, PNG, WebP, AVIF and JPEG XL images with the Squoosh codecs (MozJPEG, OxiPNG, libwebp, libavif, libjxl): convert between formats, compress at a quality, and shrink to a maximum width/height or a percentage (Lanczos3, aspect kept, never enlarged). Metadata is not carried over.
files必填scaleformatqualitylosslessmaxWidthmaxHeightoutputDiroverwritebackgroundImage to SVG (vectorize)
Traces a JPEG, PNG, WebP, AVIF or JPEG XL into an SVG of filled paths (imagetracerjs). Best for logos, icons, drawings and scans with few colours. Presets: logo (8 colours), detailed (48), mono (black and white), gray, smooth.
file必填colorsoutputpresetmaxSideoverwriteImages to PDF
Puts images into one PDF, one per page, in the order given: A4 or Letter (orientation from each image, or fixed) with a margin, or pages the size of each image. JPEG and PNG go in untouched; WebP, AVIF and JPEG XL are converted to JPEG at quality 90.
files必填titleoutput必填marginMMpageSizeoverwriteorientationFavicon pack from an image
Makes the usual favicon set from a logo (JPEG, PNG, WebP, AVIF or JPEG XL): favicon.ico (16, 32, 48 px), 16/32 px PNGs, apple-touch-icon, the Android 192/512 icons and site.webmanifest, centred on a square with optional padding and background, plus the <link> tags to paste into <head>.
file必填nameoutputDir必填overwritebackgroundthemeColorpaddingPercentSimple logo as SVG
Builds a text logo as SVG: a shape with initials (circle, rounded, square, hexagon, diamond, shield) beside or above the name and tagline, or the text alone. Colour presets: forest, ocean, sunset, mono, royal; any colour can be overridden. The text uses common system fonts, so it may look slightly different on other machines.
boldfontname必填shapelayoutoutput必填presetletterstaglinegradientmarkColoroverwrite另有 6 個Animated GIF from images
Joins JPEG, PNG, WebP, AVIF or JPEG XL images into an animated GIF, in the order given, each fitted (or cropped to fill) on a frame of one size.
fitloopfiles必填widthheightoutput必填delayMsoverwritebackgroundColour palette of an image
The main colours of a JPEG, PNG, WebP, AVIF or JPEG XL image (k-means in OKLab, transparent pixels ignored), largest share first, as hex, RGB and OKLCH.
file必填colorsRead image metadata
Shows what a photo reveals: GPS position (with a map link), camera and lens, date taken, author and copyright, software and exposure, from EXIF, XMP and IPTC in JPEG, PNG, WebP, HEIC, AVIF and TIFF. Use image_strip_metadata to remove it.
file必填Remove the background of a photo
Cuts the subject (people, products, animals, objects) out of a JPEG, PNG, WebP, AVIF or JPEG XL photo with the ormbg AI model, on this machine. Writes a transparent PNG, WebP or AVIF, or the subject on a new colour; can crop to the subject. The first call installs Transformers.js with ONNX Runtime (about 450 MB) and downloads the model (45 MB) into the cache.
cropfiles必填formatqualityoutputDiroverwritebackgroundInvoice PDF
Makes an A4 invoice, proforma or quote PDF: seller and buyer, dates, line items with VAT rates, totals with VAT per rate (rounded per rate, as accountants check them), payment details, notes and an optional PNG/JPEG logo. Labels and number/date formats in 14 languages. Not an e-Factura (no XML is made).
kindlanglogobuyer必填items必填notesnumber必填output必填seller必填dueDatecurrencyissueDate必填另有 1 個OCR: text from images
Reads the text in JPEG, PNG, WebP, AVIF or JPEG XL images (scans, screenshots, photos of documents) with Tesseract on this machine. Languages: eng, ron, deu, fra, spa, ita, hun, por, nld, pol, ces, bul, ukr, tur (combine them, e.g. ["ron","eng"]). Low-confidence guesses are dropped; Romanian ş ţ become ș ț. The first use of a language downloads its model (2-15 MB) from app.ionelul.com and caches it; images never leave this machine.
files必填layoutoutputlanguagesoverwriteConvert and compress video
Converts any video ffmpeg on this machine can read (AVI, WMV, FLV, MPEG, H.266/VVC with ffmpeg 7+…) to MP4, MOV, MKV, WebM, MPEG-TS or AVI, or extracts the sound to MP3, M4A, OGG or WAV. Picks the video codec (H.264, H.265, AV1, VP9, VP8) and audio codec, or copies the streams with no re-encode (videoCodec/audioCodec "copy", e.g. MKV to MP4). Can shrink to a maximum height (aspect kept, never enlarged), cap the frame rate, trim to a start/end and drop the sound. Needs ffmpeg installed.
endfpsfile必填mutestartformatoutputqualitymaxHeightoverwriteaudioCodecvideoCodecGIF from a video
Turns a clip of a video (at most 60 s) into an animated GIF with ffmpeg on this machine, using a palette made for that clip. Pick the part with start/end; frame rate and width keep the file small. Needs ffmpeg installed.
endfpsfile必填loopstartwidthoutputoverwriteAI video upscaling
Enlarges a video (or a clip of it, at most 60 s) 2x or 4x with Real-ESRGAN, frame by frame, on this machine; results up to 4K. Reads anything ffmpeg reads, including OpenCV MPEG-4 (mp4v); writes H.264 MP4 with the sound kept. Every frame goes through the model, so expect about 0.5 s per 480p frame on a recent CPU. The first call installs ONNX Runtime (about 113 MB) and downloads the model (5 MB). Needs ffmpeg installed.
endfile必填modelscalestartoutputoverwriteFrames from a video
Saves still images from a video with ffmpeg on this machine: one every N seconds, a set number spread over the clip, one at each scene change, or every frame (at most 500). Files are PNG, JPG or WebP named by their time (name-00m02s000.png), in a folder next to the video. Needs ffmpeg installed.
endfile必填mode必填counteverystartwidthfolderformatoverwritesensitivityRemove a video background by its colour
Keys out a plain background (green screen, blue screen, a plain wall) with ffmpeg on this machine. The colour is found from the edges of the first frame, or given as hex. Writes a transparent WebM (VP9 with alpha, for video editors and the web) or an MP4 on a new background colour; the sound is kept. For people or objects in front of an ordinary background, use the AI version on app.ionelul.com/video-background-remover. Needs ffmpeg installed.
endfile必填colorstartoutputsoftnessoverwritetolerancebackgroundRemove background noise
Turns down background noise (fans, traffic, hum, keyboard) in a recording and keeps the voice, with RNNoise on this machine. Takes any audio or video ffmpeg reads; writes WAV, MP3, M4A, FLAC or OGG by the output extension (default <name>-clean.wav), or, for a video, the same video with the cleaned sound when the output is a video file. The sound comes out mono. Needs ffmpeg installed.
file必填amountoutputoverwriteTranscribe speech
Transcribes speech from any audio or video file ffmpeg can read with OpenAI Whisper, on this machine: plain text, SRT or WebVTT subtitles, or text with timestamps. About 100 languages, detected automatically; can also translate the speech into English. Models: tiny (41 MB), base (77 MB), small (249 MB); bigger is slower and more accurate. Needs ffmpeg. The first call installs Transformers.js with ONNX Runtime (about 450 MB) and downloads the model into the cache.
file必填taskmodelformatoutputlanguageoverwriteAI image upscaling
Enlarges JPEG, PNG, WebP, AVIF or JPEG XL images 2x or 4x with Real-ESRGAN (AI that restores detail), on this machine. Transparency is kept. The first call installs ONNX Runtime (about 113 MB) and downloads the model (5 MB) into the cache.
files必填modelscaleformatqualityoutputDiroverwrite已滿足適用檢查項的 65%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。
請在儲存庫或註冊中心條目中宣告授權條款。