Piktochart Downloader

Download Piktochart projects as PNGs as many times as you want at any resolution you want. Doesn't get around CORs yet, so some elements may be missing.

  1. // ==UserScript==
  2. // @name Piktochart Downloader
  3. // @namespace https://github.com/Enchoseon/enchos-assorted-userscripts/raw/main/piktochart-downloader.user.js
  4. // @version 1.0.2
  5. // @description Download Piktochart projects as PNGs as many times as you want at any resolution you want. Doesn't get around CORs yet, so some elements may be missing.
  6. // @author Enchoseon
  7. // @include *create.piktochart.com*
  8. // @run-at document-start
  9. // @grant none
  10. // @require https://unpkg.com/html2canvas@1.3.2/dist/html2canvas.min.js
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. "use strict";
  15. // ======
  16. // Config
  17. // ======
  18. const config = {
  19. scale: 4,
  20. }
  21. // ========================================
  22. // Replace Download Button With Html2Canvas
  23. // ========================================
  24. window.addEventListener("click", function (event) {
  25. if (event.target.id === "editor-download" || event.target.innerHTML === "Download") {
  26. event.stopPropagation();
  27. enableCSS();
  28. html2canvas(document.getElementsByClassName("pikto-canvas")[0], {scale: 4}).then(function(canvas) {
  29. var link = document.createElement("a");
  30. link.download = "piktochart.png";
  31. link.href = canvas.toDataURL()
  32. link.click();
  33. disableCSS();
  34. });
  35. }
  36. }, true);
  37. // ==========
  38. // CSS Tweaks
  39. // ==========
  40. var toggleCSSTag;
  41. function enableCSS() {
  42. const css = `
  43. .pikto-block-height-handle {
  44. display: none;
  45. }
  46. `;
  47. console.log("Enabling CSS Tweaks");
  48. var s = document.createElement("style");
  49. s.setAttribute("type", "text/css");
  50. s.appendChild(document.createTextNode(css));
  51. toggleCSSTag = document.getElementsByTagName("head")[0].appendChild(s);
  52. }
  53. function disableCSS() {
  54. console.log("Disabling CSS Tweaks");
  55. toggleCSSTag.remove();
  56. toggleCSSTag = null;
  57. }
  58. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址