Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Use Adobe’s free PDF Embed API by registering a client ID, loading viewer.js, adding an adobe-dc-view container, and calling AdobeDC.View.previewFile(). The PDF must be reachable by the browser (with suitable CORS headers when it is hosted on another origin), and the client ID must be registered for the domain serving your page.

What you need before writing code

  • An Adobe PDF Embed API client ID.
  • A website domain registered for that client ID. Adobe validates that the ID is used on the approved domain.
  • A browser page that can load https://acrobatservices.adobe.com/view-sdk/viewer.js.
  • A PDF delivered either from a URL the browser can fetch or through the API’s supported file-content/file-promise approach.

The viewer service is JavaScript-based and runs in the user’s browser. Your page supplies the viewer container and PDF; Adobe supplies the rendering and viewer controls.

Minimal working embed

This is the smallest complete URL-based example. Replace both placeholders with your registered client ID and PDF URL.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<div id="adobe-dc-view" style="height: 360px; width: 500px;"></div>
<script src="https://acrobatservices.adobe.com/view-sdk/viewer.js"></script>
<script>
document.addEventListener("adobe_dc_view_sdk.ready", function () {
  var adobeDCView = new AdobeDC.View({
    clientId: "<YOUR_CLIENT_ID>",
    divId: "adobe-dc-view"
  });

  adobeDCView.previewFile({
    content: { location: { url: "https://example.com/file.pdf" } },
    metaData: { fileName: "file.pdf" }
  }, {
    embedMode: "SIZED_CONTAINER"
  });
});
</script>

The sequence matters: wait for the adobe_dc_view_sdk.ready event, create AdobeDC.View with the client ID and container ID, then call previewFile. Keep the PDF’s filename in metaData.fileName; it is used by viewer features such as download.

#1 Best Overall
Adobe Acrobat Pro | PDF Software | Convert, Edit, E-Sign, Protect | PC/Mac Online Code | Activation Required
  • Create and edit PDFs. Collaborate with ease. E-sign documents and collect signatures. Get everything done in one app, wherever you go.
  • Edit text and images without jumping to another app.
  • E-sign documents or request e-signatures on any device. Recipients don’t need to log in to e-sign.
  • Convert PDFs to editable Microsoft Word, Excel, or PowerPoint documents.
  • Share PDFs for collaboration. Commenting features make it easy for reviewers to comment, mark up, and annotate.

Choose the right embed mode

Set embedMode in the second argument to previewFile. The mode changes layout, sizing, and how much of the surrounding page remains visible.

Mode Viewport behavior Best fit Implementation detail
FULL_WINDOW Viewer fills the browser window. Dedicated document-reading pages. Give the page a suitable height; the PDF becomes the primary experience.
SIZED_CONTAINER Pages behave like slides inside a fixed box. Product pages, presentations, and precise layouts. Set the container’s width and height in CSS, as in the minimal example.
IN_LINE Pages flow with surrounding content and the viewer height is automatically sized. Whitepapers, brochures, and e-books embedded in an article. Leave room in the page layout for the automatically sized viewer.
LIGHT_BOX Viewer opens as a foreground overlay while the page remains visible behind it. Preview buttons and optional document reading. Open the viewer from an explicit user action and provide a clear close path.

For responsive layouts, avoid hard-coding a narrow desktop width. Use a container such as width:100%; min-height:360px, then test the selected mode at your actual phone, tablet, and desktop breakpoints.

Make the PDF reachable: URL versus file content

Public or signed URL

The content.location.url form is straightforward when the PDF is available at a stable URL. The browser, not your server, downloads the file, so the PDF origin must permit the request with CORS headers. A PDF that opens in a new tab can still fail in the embed if its response does not allow the viewer’s cross-origin request.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check that the URL returns a PDF response (normally Content-Type: application/pdf), does not require an interactive login, and remains valid for the full loading period. For protected documents, issue a short-lived URL or use the documented file-content/file-promise delivery method rather than exposing a permanent secret in page source.

Cross-origin checklist

  • Send an Access-Control-Allow-Origin value that includes the origin of your page (or an intentionally configured public value).
  • Allow the HTTP methods and headers used by your delivery setup.
  • Ensure redirects preserve access policy; a redirect to another host must also satisfy CORS.
  • Do not put storage credentials or bearer tokens in a public PDF URL.

When a PDF is private, proxy it through your own backend with authorization checks, or generate a narrowly scoped signed URL. The browser must still receive the bytes in a form the viewer supports.

Control download, print, forms, and annotations

The viewer configuration can show or hide download, print, comments, and annotation tools where those controls are supported. For example:

adobeDCView.previewFile({
  content: { location: { url: "https://example.com/file.pdf" } },
  metaData: { fileName: "policy.pdf" }
}, {
  embedMode: "SIZED_CONTAINER",
  showDownloadPDF: false,
  showPrintPDF: false,
  enableFormFilling: false
});

Hiding a toolbar button is a user-interface choice, not a document-security boundary. A determined user may still obtain content that their browser can read, so enforce access and authorization on the server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
PDF Extra Lifetime - Professional PDF Editor - Best Adobe Acrobat Pro Alternative - Lifetime License for Windows PC
  • Perfect Adobe Acrobat Pro alternative – lifetime license for Windows 10 and 11.
  • EDIT text, images, pages, hyperlinks, designs in PDF documents. ORGANIZE PDFs.
  • READ and Comment on PDFs – Intuitive reading modes & document commenting and mark up tools!
  • CREATE, COMBINE, SCAN and COMPRESS PDFs.
  • FILL forms & Digitally Sign PDFs. Work with Digital certificates

Live form editing is enabled by default; set enableFormFilling: false when the document should be read-only. Annotation APIs support import, creation, update, deletion, export, and save callbacks. For multi-user review, provide a reviewer name or email and persist annotation data through your own callbacks. Without that identity configuration, comments display the reviewer as GUEST by default.

Events and analytics

Register an event listener to observe viewer activity, or configure Adobe Analytics or Google Analytics 4. Documented events include page changes, bookmark clicks, downloads, prints, external-link opens, text copies, searches, and zoom changes. Use these events to measure document engagement without polling the DOM.

Adobe’s documented analytics fields include browser and operating-system type and version, device type, embed mode, file size, page count, URL, and rendering/download performance. Adobe states: “PDF Embed API doesn’t store any user-generated content and never shares user-generated content with Adobe servers.” Keep your own analytics policy and consent requirements separate from viewer configuration.

Mobile, React, and Angular considerations

Phones and tablets

Adobe lists three mobile limitations: annotation tools are not supported on phones in FULL_WINDOW mode; print functionality is unsupported; and PDF download is unsupported on iOS devices but supported on Android. Do not promise desktop-equivalent controls on every mobile browser. Test the exact mode, PDF, and browser combination you support.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

React

Load viewer.js once, create the viewer after the component has mounted, and destroy or replace the instance when the PDF or route changes. Keep the client ID in configuration rather than hard-coding different IDs per component. Adobe’s official samples repository includes a React example.

Angular

Load the script from the application shell or a controlled script loader, then initialize from ngAfterViewInit, when the container exists. Reinitialize only after changing the document deliberately. Adobe’s official samples repository also includes an Angular example.

The same lifecycle rule applies in both frameworks: the container must exist before AdobeDC.View is constructed, and initialization must wait for the SDK-ready event.

Rank #3
Adobe Acrobat Reader: Edit PDF
  • VIEW & PRINT ANY PDF
  • USE LIQUID MODE FOR OPTIMAL PDF VIEWING
  • EDIT PDFs
  • MERGE & ORGANIZE PDFs WITH THE PDF CONVERTER
  • SHARE PDFs & COLLABORATE

Troubleshooting blank or blocked previews

“Invalid client ID” or domain error

Cause: The ID is wrong, the page is running on an unregistered domain, or a staging hostname was not added to the registration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fix: Verify the exact client ID, protocol, hostname, and port used in the browser, then register that domain with Adobe and deploy the matching value.

Viewer area stays blank

Cause: The SDK script did not load, initialization ran before adobe_dc_view_sdk.ready, the container ID is misspelled, or the container has no usable height.

Fix: Inspect the browser console and network panel, confirm the script returns successfully, check that divId matches the element, and assign a visible height or use IN_LINE.

CORS or “failed to fetch” error

Cause: The PDF host does not allow your page’s origin, a redirect lands on a host with different policy, or authentication blocks the browser request.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fix: Configure CORS on every response in the redirect chain, use a valid signed URL, or deliver the file through the supported file-content/file-promise path.

Only some PDFs fail

Cause: The failing file may be encrypted, malformed, inaccessible, or too slow to retrieve.

Rank #4
Acrobat Pro | 1-Month Subscription | PDF Software |Convert, Edit, E-Sign, Protect |Activation Required [PC/Mac Online Code]
  • Create and edit PDFs. Collaborate with ease. E-sign documents and collect signatures. Get everything done in one app, wherever you go.
  • Edit text and images without jumping to another app.
  • E-sign documents or request e-signatures on any device. Recipients don’t need to log in to e-sign.
  • Convert PDFs to editable Microsoft Word, Excel, or PowerPoint documents.
  • Share PDFs for collaboration. Commenting features make it easy for reviewers to comment, mark up, and annotate.

Fix: Open the exact URL with the same access conditions, validate the PDF independently, and check server logs for status codes, redirects, and response size. Confirm that the filename and URL identify the intended file.

Controls missing on a phone

Cause: Mobile limitations vary by device and mode; print is unsupported on mobile, iOS does not support PDF download, and phone annotations are unavailable in FULL_WINDOW.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fix: Offer an alternate download workflow where permitted, choose a suitable mode, and test on representative iOS and Android devices.

Reliability, performance, and security practices

  • Use a stable, cacheable PDF URL and avoid expiring it before the viewer finishes loading.
  • Prefer linearized or otherwise web-optimized PDFs for large documents so first pages can appear sooner; still test with your real files and network conditions.
  • Set explicit container dimensions to prevent layout shifts, especially in SIZED_CONTAINER mode.
  • Lazy-load the viewer when it is below the fold, but initialize only after the container is present and the SDK-ready event has fired.
  • Keep the client ID public but keep storage credentials, signing keys, and authorization tokens on your server.
  • Decide separately whether download, print, form filling, and annotations are appropriate for each document and user role.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a static image of a webpage or a rendered PDF landing page rather than an interactive in-page PDF viewer, ScreenshotNeo provides a website screenshot API. It removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, timeouts, and cache hits are not billed; and its MCP server lets Claude, Cursor, or another MCP client take screenshots.

One request returns PNG, JPEG, WebP, or PDF. See the ScreenshotNeo API documentation for all options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Every plan includes the features; the Free plan provides 1,000 screenshots per month with no card, and paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

FAQ

Is the Adobe PDF Embed API the same as embedding an iframe?

No. You load Adobe’s JavaScript SDK and initialize AdobeDC.View, which provides the documented viewer modes and controls. An iframe alone does not configure this API.

Can I use a PDF that requires a login?

Not through a browser-inaccessible URL. Use a protected delivery design that supplies the PDF through a supported file-content method or a short-lived authorized URL while preserving the viewer’s ability to fetch the bytes.

Best Value
PDF Extra 2024| Complete PDF Reader and Editor | Create, Edit, Convert, Combine, Comment, Fill & Sign PDFs | Lifetime License | 1 Windows PC | 1 User [PC Online code]
  • EDIT text, images & designs in PDF documents. ORGANIZE PDFs. Convert PDFs to Word, Excel & ePub.
  • READ and Comment PDFs – Intuitive reading modes & document commenting and mark up.
  • CREATE, COMBINE, SCAN and COMPRESS PDFs
  • FILL forms & Digitally Sign PDFs. PROTECT and Encrypt PDFs
  • LIFETIME License for 1 Windows PC or Laptop. 5GB MobiDrive Cloud Storage Included.

Does disabling download prevent copying the PDF?

No. It removes the viewer control where supported; it cannot make readable content impossible to obtain. Enforce permissions and access control at the delivery layer.

Does Adobe store annotations created by my users?

Adobe states that PDF Embed API does not store user-generated content or share it with Adobe servers. If your application needs saved or shared annotations, implement the documented callbacks and persist the data in your own system.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Is the Adobe PDF Embed API free?

The viewer service is described as free, but you still need a registered Adobe client ID and a website domain configured for it.

Which mode should I use for an article page?

Use IN_LINE when pages should flow with the article; use SIZED_CONTAINER when you need a fixed box; use LIGHT_BOX for an on-demand overlay and FULL_WINDOW for a dedicated reading page.

Why does the same PDF work in a new tab but not in the viewer?

The viewer fetches the file from browser JavaScript, so missing CORS headers, redirects, or authentication can block it even when direct navigation succeeds.

The Bottom Line

Register the domain and client ID first, then initialize AdobeDC.View after viewer.js signals readiness. Select the embed mode that matches your layout, configure CORS or file delivery correctly, and test mobile limitations before release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
Adobe Acrobat Pro | PDF Software | Convert, Edit, E-Sign, Protect | PC/Mac Online Code | Activation Required
Adobe Acrobat Pro | PDF Software | Convert, Edit, E-Sign, Protect | PC/Mac Online Code | Activation Required
Edit text and images without jumping to another app.; Convert PDFs to editable Microsoft Word, Excel, or PowerPoint documents.
$239.88
Bestseller No. 2
PDF Extra Lifetime - Professional PDF Editor - Best Adobe Acrobat Pro Alternative - Lifetime License for Windows PC
PDF Extra Lifetime - Professional PDF Editor - Best Adobe Acrobat Pro Alternative - Lifetime License for Windows PC
Perfect Adobe Acrobat Pro alternative – lifetime license for Windows 10 and 11.; EDIT text, images, pages, hyperlinks, designs in PDF documents. ORGANIZE PDFs.
$99.99
Bestseller No. 3
Adobe Acrobat Reader: Edit PDF
Adobe Acrobat Reader: Edit PDF
VIEW & PRINT ANY PDF; USE LIQUID MODE FOR OPTIMAL PDF VIEWING; EDIT PDFs; MERGE & ORGANIZE PDFs WITH THE PDF CONVERTER
Bestseller No. 4
Acrobat Pro | 1-Month Subscription | PDF Software |Convert, Edit, E-Sign, Protect |Activation Required [PC/Mac Online Code]
Acrobat Pro | 1-Month Subscription | PDF Software |Convert, Edit, E-Sign, Protect |Activation Required [PC/Mac Online Code]
Edit text and images without jumping to another app.; Convert PDFs to editable Microsoft Word, Excel, or PowerPoint documents.
$29.99
Bestseller No. 5
PDF Extra 2024| Complete PDF Reader and Editor | Create, Edit, Convert, Combine, Comment, Fill & Sign PDFs | Lifetime License | 1 Windows PC | 1 User [PC Online code]
PDF Extra 2024| Complete PDF Reader and Editor | Create, Edit, Convert, Combine, Comment, Fill & Sign PDFs | Lifetime License | 1 Windows PC | 1 User [PC Online code]
READ and Comment PDFs – Intuitive reading modes & document commenting and mark up.; CREATE, COMBINE, SCAN and COMPRESS PDFs
$99.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.