问题标签 [webgrabber]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
60 浏览

asp.net-mvc - ASP.NET MVC Active PDF WebGrabber - 如何处理 Cutom 错误页面

我们在 asp.net MVC 应用程序中使用 webGrabber 生成 PDF,当生成 pdf 时出现一些服务器端错误并且正在生成错误 pdf 文件,任何人都可以建议如何处理第三方工具的错误页面(自定义错误页面)。

请看这张图片,这是 pdf 的生成方式,这是我们应用程序中的自定义错误页面 在此处输入图像描述

0 投票
1 回答
97 浏览

swift - Swift 中的 Web 文本抓取器

我一直在尝试通过以下方式获取任何网页的文本内容:

如果网页包含 html/body 标记内的文本,它可以正常工作,但如果网页仅包含 javascript,则不会,例如:https ://twitter.com/search?q=tesla&src=typed_query

我知道 Swifter,但我无法编写数百个 API 来访问任何 WEB 站点:twitter、facebook、linkedin、quora、amazon 等。显然,WKWebView 视图知道如何显示和打印它们的文本,因此我试图获取文本来自 WKWebView 的内容:

(1) 不幸的是,即使我从 webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) 调用它,以下方法总是返回“”:

我尝试了在 WEB 上发布的这段代码的变体,例如“document.body.textContent”、“document.body.innerText”、“document.body.outerHTML”、“document.body.innerHTML”,但是这个方法总是返回“”……

(2) 我也尝试使用剪贴板来获取文本内容(myWKWebView.SelectAll()、myWWKWebView.copy()),但是 myWKWebView.copy() 总是发送异常(即使这个方法应该适用于任何 NSView,如 Apple 的文档所述):

如果任何人都可以通过任何网络浏览器手动复制和粘贴和打印任何网页的文本内容,而不管其内容如何(html/javascript),那么应该有一种通用的简单且有记录的方法来从 WKWebView 中获取文本,不应该吗?

0 投票
0 回答
41 浏览

html - 如何使 ActivePDF WebGrabber 为正文部分的长文本正确分解页面

ActivePDF WebGrabber 用于将 HTML 内容转换为包含页眉、正文和页脚的 PDF。每个部分都是一个完整的 HTML 文档,并作为 API 中的参数值提供给 WebGrabber。

当正文部分较长时,通常包含在 HTML 文档中的单个 <p>、<div> 或 <td> 元素中,生成的 PDF 文件将是多页,有时分页符会切掉最后一行将正文文本水平放置在页脚正上方的页面底部,并将文本行的上部放在它剪切的页面上,将文本行的下部放在下一页上,作为起始行身体部分。

也就是说,这是一个断行问题,由于不可预知,断行的位置可以在长文本中的任意位置,即使是一行字符串或句子,也会导致整行被砍头。

看起来固定页脚与超出正文部分的最后一行重叠。

ActivePDF 网站提供了长行分页问题的解决方案,如在文本保持器元素上使用“page-break-inside:avoid”CSS 样式,但它不起作用,或者适用于正文部分的超长文本。

我将不胜感激任何帮助或建议。

PS 我尝试将 API 参数设置为页面宽度、页面高度、fixPageSize 和页眉和页脚的固定高度,它们没有任何区别。PDF文件用于报告,因此正文部分相对动态。

PS我把长文本分成了许多<div>,它们的样式是“break-inside:避免!important”,现在WebGrabber为每个<div>生成一个页面。这是 WebGrabber 对 CSS 样式“page-break-inside”或“break-inside”设置的第一反应,虽然是错误的。