# 强制PDF下载

**URL:** https://meta.discourse.org/t/force-pdf-download/281819
**Category:** Support
**Created:** [2023年十月11日 00:49 UTC](https://meta.discourse.org/t/force-pdf-download/281819 "2023-10-11T00:49:12Z")
**Posts on this page:** 1
**Showing post:** 7

<div class="post-metadata">

### Author: ![Don](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/don/32/228726_2.png) [@Don](https://meta.discourse.org/u/Don)
#### Post date: [2023年十月12日 18:57 UTC](https://meta.discourse.org/t/force-pdf-download/281819/7 "2023-10-12T18:57:39Z")

</div>

你好 👋

我认为这个话题和这个一样：[Force download pdf on IOS](https://meta.discourse.org/t/force-download-pdf-on-ios/282047?u=don)

为此，您必须使用 [api.decorateCookedElement](https://github.com/discourse/discourse/blob/460e702887e266f1d24122c199c9d6eeaf1b8883/app/assets/javascripts/discourse/app/lib/plugin-api.js#L359-L388)。

类似这样的代码应该可以工作 🔽

将其放置到组件的 Header 部分。

```xml
<script type="text/discourse-plugin" version="0.8.42">
  api.decorateCookedElement(
    element => {
      const pdfFiles = element.querySelectorAll("a.attachment[href$='.pdf']");

      if (!pdfFiles.length) {
        return;
      }

      pdfFiles.forEach((pdf) => {
        pdf.setAttribute("download", "");
      });
    },
    { id: "download-pdf", onlyStream: true }
  );
</script>

```

我在我的设备上测试过，对我来说是有效的，但如果您想使用其他属性等，您可以轻松更改……希望这对您有帮助 🙂

---

_[View the full topic](https://meta.discourse.org/t/force-pdf-download/281819)._
