当前位置: 首页 > 面试题库 >

使用CSS将前置元素另存为PDF

毋宸
2023-03-14
问题内容

我做了一个语法荧光笔,我希望有一个选项另存为PDF。我已经看了这个SO问题,但是下载它并不能保留CSS样式,这会破坏下载突出显示的文件的意义。有什么方法可以pre在维护CSS的同时将元素另存为PDF?

HTML:

<pre id='output'> (highlighted portion) </pre>
<button id='save'>Save as PDF</button>

JS:

$('#save').click(function(){
  //this is what I need help with
});

您可能已经注意到,如果要这样做,我正在使用jQuery。


问题答案:

尝试打开新的window,追加pre htmlstyle如果任何的pre元素,以新颖window
document.body,呼吁.focus().print()在新的window; 选择系统打印对话框,选择“打印到文件”

$("#save").click(function() {
  var text = $("#output")[0].outerHTML;
  // `styles`: `style` element; 
  // or `String` "<style>.light{color:#0af;}</style>" ;
  // alternatively , add `style` attribute to `pre` element directly,
  // e.g., `<pre style="color:#0af;">`
  var styles = $("style")[0].outerHTML;
  var popup = window.open("", "popup");
  // append `text`:`pre` element `styles`:`style` element
  // at `popup` `document.body`
  popup.document.body.innerHTML = text + styles;
  popup.focus();
  popup.print();
});


 类似资料:
  • 我有一个Windows窗体树视图,需要保存为xml文件。 TreeView的结构如下: 每个有孩子的TreeNode都需要保存为元素,每个没有孩子的TreeNode都需要保存为父TreeNode的属性 这意味着上述操作将产生以下xml: 我试着使用下面的代码,但当树节点没有孩子,树节点下面有孩子,我真的想不出一个好方法时,它就不起作用了。 编辑: 当前代码的问题是,如果我添加一个有任何子节点的Tr

  • 本文向大家介绍使用CSS设置元素的背景色,包括了使用CSS设置元素的背景色的使用技巧和注意事项,需要的朋友参考一下 要设置元素的背景色,请使用background-color 属性。 示例 您可以尝试运行以下代码,以了解如何使用background-color属性:

  • 问题内容: 例如,Meyer重置包含一长串元素1,我相信可以将其替换为?。 我已经看到了一些用法: 但是,更多的“高级”重置似乎与明确说明标签有关。 我没有看到覆盖在标签列表中唯一的元素 被 覆盖(我相信)用的,和-the埃里克迈耶复位,其实并没有出现真正处理所有这些元素。如果要避免重置这些元素,那就是问题……您为什么不呢?浏览器显然 并不 都显示相同的表单元素。 1 如果您好奇。 问题答案: 您

  • 本文向大家介绍使用CSS为每个disabled 禁用的 元素设置样式,包括了使用CSS为每个disabled 禁用的 元素设置样式的使用技巧和注意事项,需要的朋友参考一下 要为每个禁用的<input>元素设置样式,请使用CSS:disabled选择器。您可以尝试运行以下代码来设置禁用元素的样式- 示例

  • 在我的课堂上,我四处游荡,发现CSS可以使用虚构的元素。 示例: null null 当我的教授第一次看到我使用这个的时候,他有点惊讶于合成元素的工作,并建议我简单地将所有合成元素改为带有ID的段落。 为什么我的教授不希望我使用虚构的元素?它们有效地工作。 还有,为什么他不知道虚构元素的存在,并与CSS一起工作。他们不常见吗?

  • 问题内容: 是否可以在CSS中选择多个具有某个特定类,id等父的元素?例如: 如果不是,是否有办法选择该元素的所有子元素? 问题答案: 是否可以在CSS中选择多个具有某个特定类,id等父的元素? 当前,不幸的是,并非没有复制整个父选择器并指定所有后代,而是1: 直到选择器3最终确定后,他们才提出了伪类表示法来进行此操作,直到最近,基本实现才开始出现。 简而言之,现在已成为标准的伪类称为。在遥远的将