Project documentation
PDF — Merge or Split Guide
Use, PDF preservation, local processing, limits and source.
1. Merge
- Choose Merge, then add PDFs. You can add more later.
- Move documents using their grips or arrow buttons. Top to bottom is the output order.
- For finer control, choose Arrange pages. Pages read left to right, then top to bottom. Their source name and original page number remain visible.
- Select pages to rotate or remove them. Use Undo to reverse an arrangement change. The last 30 changes are available.
- Name the output, select Create merged PDF, then download.
Drag handles support mouse, pen and touch. Focus a grip and use arrow keys, use the separate move buttons, or use “Select or move by page number” to move a selection to a numbered position. A click on a page preview opens a larger view; Escape closes it.
After arranging pages across documents, the document list shows their actual output positions. Whole-document dragging pauses until you explicitly select “Group pages by document”; Undo restores the previous page arrangement. Removing an entire source file clears arrangement history so its data can be released. Removing pages can be undone.
2. Split
Choose Split and add one PDF. If Merge already contains files, confirm the short switch prompt; the current Merge setup is then cleared. Use one of four methods:
- Every page: make a PDF for each page.
- Choose split points: mark the boundary after a page. A split after page 8 creates pages 1–8 and 9–end.
- Every N pages: make groups of the specified size, with a shorter final group if needed.
- Custom page groups: each row creates one output. Enter a range such as
1-4, or a selection such as1-3, 7, 10-12. This also extracts selected pages into a single PDF.
Numbers start at 1 and refer to physical source pages, even if the document prints different numbers. Custom selections are sorted into source order. A repeated page inside one row is an error. Pages omitted from all groups or reused between groups are listed and require your acknowledgement. A reversed range is an error.
Review each output’s pages and filename before creating files. Duplicate filenames are blocked. Download files individually or select Download all as ZIP. Creating a ZIP uses additional memory; individual downloads remain available if it is cancelled.
3. PDF support
Page content is copied as PDF objects. Text, vector graphics and original page dimensions are retained; outputs are not made from screenshots. Rotation is stored in 90-degree steps. This does not make scanned text selectable.
| Feature | Handling |
|---|---|
| Page content, fonts, images, page boxes and rotation | Copied into the new PDF without image re-encoding. |
| External web, email and telephone links; highlights | Basic URI link and Highlight annotations are supported. Other annotation types are rejected. |
| Bookmarks and internal page links | Not retained. A notice and acknowledgement appear before creation when detected. |
| Accessibility tags, custom page labels and document actions | Not retained. Detected features are disclosed before creation. Outputs are not certified accessible. |
| Metadata and archival/print certification | Document-level metadata and certification are not retained. PDF/A or PDF/X compliance is not claimed. |
| Forms, including XFA | Rejected. This tool does not flatten forms or preserve interactive fields. |
| Encryption and passwords | Rejected, including PDFs with permission-only encryption. No password is requested or sent anywhere. |
| Digital signatures | Rejected because rearrangement invalidates signatures. Use an unsigned original. |
| Portfolios, embedded attachments and optional layers | Rejected to avoid incomplete or misleading copies. |
This is a page arrangement tool, not a sanitizer or a general editor. Removing pages is not redaction. Unused resources may remain embedded in copied resources; do not use this tool to remove confidential information securely. Review important outputs in your usual PDF reader.
4. Local processing
Your PDFs, thumbnails and generated files stay in your browser. The app has no document upload endpoint, processing service, document telemetry, analytics, ads or accounts. PDF parsing, page copying, preview rendering and ZIP generation all run on your device using bundled libraries.
Documents are held in this tab’s memory, not in persistent browser storage. Reloading or closing the tab clears the workspace. Downloaded files stay wherever your browser saves them. Clearing the workspace releases its document references, previews and download URLs; the browser controls when freed memory returns to the system.
The site must first load from its host. Guaranteed offline availability is not implemented: there is no service worker or installable companion. The PDF tool has no account system.
Only the colour theme is stored. Dark Gray is the first-visit default. The shared forgeworks-theme cookie works on the myforgeworks.net domain family, with local storage as the fallback on preview and legacy domains.
5. Device limits and recovery
There are no artificial page, file or output quotas. Capacity depends on your device, the browser, and document complexity. A small compressed file can still consume substantial memory. Try fewer files or smaller groups if processing fails.
Files are inspected one at a time. Parsing, output creation and ZIP generation run in a background worker; Cancel terminates that operation. Previews render at most two pages concurrently. Page arrangement uses batches of 48 thumbnails, with Previous and Next controls; this is a display window, not a page limit.
A failed input is reported by name without discarding files already accepted. Cancellation keeps the current arrangement. Changing input, page order, rotation, split settings or filenames removes previous results so an outdated output cannot be mistaken for the current one.
6. Test standing
Validation details and any remaining gaps are recorded in the source package’s docs/TESTING.md. The independent checks use a different PDF reader from the page-copy engine to verify page count, order, selected text, dimensions, rotations, grouping and ZIP contents.
Cross-browser compatibility and arbitrary real-world PDFs cannot be guaranteed by a fixture test. Safari, Firefox and physical mobile hardware require their own release checks.
7. Source and licence
Download the complete source package. It contains source, a lockfile, engine decision, tests, maintenance rules, and the handoff. Original code is available under the MIT License. Development was assisted by ChatGPT under Andraž Đurič’s direction.
Page manipulation uses pdf-lib 1.17.1 (MIT), rendering uses PDF.js 6.3.289 (Apache 2.0), and ZIP generation uses JSZip 3.10.1 (MIT option). PDF.js is maintained; pdf-lib’s latest upstream release is from 2021. That maintenance limitation is recorded explicitly in the engine decision. The app pins its dependencies and checks a bounded set of supported structures rather than claiming full PDF fidelity.
Bundled licence texts: pdf-lib, PDF.js, JSZip.
npm ci
npm run build
npm test
npm run devThe website extends Image Converter’s actual Forgeworks family shell and interface contract v1.8.0. Shared CSS, typography, header, theme switch, family navigation and Guide layout are preserved. No existing Forgeworks site or domain is changed by this project.