pdf-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev 0341fee61377
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 7716a56ff3432bc0c1e4837c
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
src/main.tsx
// PDF's entry. The landing page is static HTML; the workspace mounts into its hero.
// A job link such as /compress keeps the same page and names that job in the tab title and the drop zone.
import { createRoot } from "react-dom/client";
import { currentTool } from "./lib/tools";
import { Toaster } from "./ui";
import { Workspace } from "./Workspace";
import "./styles.css";

const tool = currentTool();
if (tool) document.title = `${tool.title}, no upload and no limit | PDF by OpenApps`;

createRoot(document.getElementById("workspace")!).render(
  <>
    <Workspace />
    <Toaster />
  </>,
);

const head = document.querySelector(".site-head");
const onScroll = () => head?.classList.toggle("scrolled", window.scrollY > 4);
window.addEventListener("scroll", onScroll, { passive: true });
onScroll();

Change history

Quality pass: compress, PDF to JPG, phone layout, job links, llms.txt and index.md
0341fee613 · 5 hours ago
Bounded source sync
f00de5deb0 · 1 day ago
Bounded source sync
3c8124e576 · 1 day ago
Bounded source sync
5c14663e0f · 1 day ago
Bounded source sync
ee5c852f40 · 1 day ago