【问题标题】:Electron print to pdf selection only仅电子打印到 pdf 选择
【发布时间】:2021-03-24 23:31:26
【问题描述】:

我需要在电子中导出为 PDF,但不是整个页面,而只是一个部分(HTML 节点会很棒)。 整个页面都可以正常工作。 我在文档中看到了一个选项:printSelectionOnly:

printSelectionOnly Boolean (可选) - 是否打印选择 仅限。

Electron docs

但我不知道它是否正确。 我该如何选择?会不会是 HTML 节点?

提前致谢。

更新

printSelectionOnly 选项是只选择窗口中的焦点内容以打印/导出为 PDF。

这回答了我的问题。

【问题讨论】:

    标签: javascript pdf electron


    【解决方案1】:

    printSelectionOnly 选项仅打印页面中已选择的内容。

    他们所说的“仅选择”是指页面中当前以蓝色突出显示并且您可以使用 ctrl+c 复制的所有元素。

    Image of selected text

    要使其成为 HTML 节点,您需要创建一个范围对象。然后,使用范围对象选择节点。这将允许您只打印页面的一个节点。

    function selectDiv() {
      selectElementById("frame");
    }
    
    function selectChildDiv() {
      selectElementById("childDiv");
    }
    
    function selectElementById(id) {
      let element = document.getElementById(id); 
      // Create the range object
      let range = new Range();
      // Select the node using the range object
      range.setStart(element, 0);
      range.setEndAfter(element, 0);
      // Apply the range
      document.getSelection().removeAllRanges();
      document.getSelection().addRange(range);
      // This is where you would call the printToPDF
    }
    button, #frame {
      margin: 15px 0;
    }
    
    div {
        border: 1px solid black;
        box-shadow: 2px 2px 4px fuchsia;
        padding: 5px;
    }
    
    i {
      position: relative;
    }
    
    i::after {
      content: "I can not be selected";
      position: absolute;
      bottom: 100%; right: 0%;
      font-style: normal;
      font-size: small;
    }
    <button onclick="selectDiv()">Select parent div</button>
    <button onclick="selectChildDiv()">Select child div</button>
    <p>Element before div</p>
    <div id="frame">
      Inner Text
      <p>Element inside div</p>
      <i>Note : Unselectable elements like pseudo elements won't be selected.</i>
      <div id="childDiv">Div inside div</div>
    </div>
    <p>Element after div</p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      相关资源
      最近更新 更多