Java 带身份验证的iText html2pdf

Java 带身份验证的iText html2pdf,java,itext,basic-authentication,Java,Itext,Basic Authentication,出于法律原因,我们需要在发布新版本时将HTML页面归档为PDF。该系统不相关,但该过程是在CMS的创作系统上完成的。这里的问题是这些页面不能匿名访问。使用Apaches HttpClient和CredentialsProvider很容易获得HTML,但是iText HtmlConverter会尝试从ConverterProperty提供的同一主机加载CSS。我没有看到任何API方法可以为这个转换器提供任何类型的身份验证 示例代码: CredentialsProvider provider = n

出于法律原因,我们需要在发布新版本时将HTML页面归档为PDF。该系统不相关,但该过程是在CMS的创作系统上完成的。这里的问题是这些页面不能匿名访问。使用Apaches HttpClient和CredentialsProvider很容易获得HTML,但是iText HtmlConverter会尝试从ConverterProperty提供的同一主机加载CSS。我没有看到任何API方法可以为这个转换器提供任何类型的身份验证

示例代码:

CredentialsProvider provider = new BasicCredentialsProvider();
provider.setCredentials(new UsernamePasswordCredentials("admin", "admin"));
CloseableHttpClient httpClient = HttpClients.cutom().setDefaultCredentialsProvider(AuthScope.ANY, provider).build();
HttpGet httpGet = new HttpGet(url);
try (CloseableHttpResponse response = httpClient.execute(httpGet); OutputStream out = new FileOutputStream(fileName);) {
    HttpEntity httpEntity = response.getEntity();
    ConverterProperties props = new ConverterProperties();
    props.setBaseUri(BASE_URI);
    HtmlConverter.convertToPdf(httpEntity.getContent(), out, props);
} catch (IOException e) {
    e.printStackTrace();
}
html2pdf是否遗漏了什么,或者这是不可能的?

这里的前iText员工

html2pdf并不真正关心如何获得HTML或其资源。 html2pdf承诺将HTML文档和资源转换为有效的PDF

获取HTML并为此提供身份验证超出了该项目的范围

我建议您只需在本地复制这些文件,然后使用您提到的apache库下载它们

然后,您可以使用JSoup之类的库加载文档,并更改到资源的路径以反映您的本地副本