Skip to content

Introduce a CreateDocFromWebPage sample to the repo - #145

Open
datalogics-robl wants to merge 5 commits into
datalogics:develop-21from
datalogics-robl:web-to-pdf-sample
Open

Introduce a CreateDocFromWebPage sample to the repo#145
datalogics-robl wants to merge 5 commits into
datalogics:develop-21from
datalogics-robl:web-to-pdf-sample

Conversation

@datalogics-robl

@datalogics-robl datalogics-robl commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Adds a CreateDocFromWebPage Java sample, complete with accompanying pom.xml. This demonstrates usage of the new Web Conversion API.

@datalogics-robb

Copy link
Copy Markdown
Contributor

Looks like a clean CI run

@datalogics-robl

Copy link
Copy Markdown
Contributor Author

It turns out the CI run only passed because the sample wasn't run.

This is a first draft at a CreateDocFromWebPage Java sample, complete
with accompanying pom.xml.
This should have been added to the last commit.
The CI stages iterate samples_list, so the sample was previously skipped
entirely by clean-samples, build-samples and run-samples: PR-145 passed
without ever compiling it.

No platform skip is needed. The WebToPDF plugin is published for all five
platforms the samples matrix covers (Windows x64/ARM64, Linux x86_64/ARM64
and Apple-silicon macOS).
The sample declared only web-conversion-cef-runtime, which on Windows and
Linux carries the Chromium runtime alone. The plugin itself -- the
DL210WebToPDF.ppi and its helper and server executables -- ships in the
separate web-conversion artifact, which was never declared, so those
platforms unpacked CEF with no plugin for APDFL to load and failed at
conversion with "WebToPDF plugin HFT not found".

macOS is the exception. There the .ppi is a single signed framework bundle
with CEF embedded and cannot be split, so it ships whole inside
web-conversion-cef-runtime and web-conversion publishes no mac-arm-64
classifier at all. Requesting one unconditionally would fail resolution, so
the dependency sits in a profile that activates everywhere except mac.

Both halves unpack through one execution into target/lib. Co-location is
required rather than convenient: the CEF host runs out of process and is
resolved relative to the loaded plugin, so plugin, runtime and JNI
libraries have to share a directory.

Verified in an isolated local repository that the Linux classifier yields
the complete set -- plugin, both helpers, libcef and the CEF data files --
and that the helper and server executables retain their execute bits
through the zip round trip.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@datalogics-robl

Copy link
Copy Markdown
Contributor Author

The platform failures are due to some CI nodes pulling from Maven Central (where the web conversion components are not available) rather than Artifactory.

Reduce overly verbose comments from Claude AI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants