{"id":8045,"date":"2025-03-17T15:15:00","date_gmt":"2025-03-17T06:15:00","guid":{"rendered":"https:\/\/tomato-made.com\/study\/?p=8045"},"modified":"2026-03-17T15:51:58","modified_gmt":"2026-03-17T06:51:58","slug":"b17","status":"publish","type":"post","link":"https:\/\/tomato-made.com\/study\/uncategorized\/b17","title":{"rendered":"\u59d4\u4efb\u72b6\uff1a\u8ee2\u58f2\u30fb\u8a50\u6b3a\u30b5\u30a4\u30c8\u8abf\u67fb"},"content":{"rendered":"<!DOCTYPE html>\n<html><style>\n\n  \/* \u25bc \u6295\u7a3f\u65e5\u6642\u30fb\u30e1\u30bf\u60c5\u5831\u3092\u975e\u8868\u793a *\/\n  .post-meta,\n  .post-date,\n  .entry-meta,\n  .published {\n    display: none !important;\n  }\n\n<\/style>\n\n\n\n<p><\/p>\n\n\n\n\n<html lang=\"ja\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>\u30c8\u30de\u30c8\u30e1\u30a4\u30c9 \u59d4\u4efb\u78ba\u8a8d\u66f8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc<\/title>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/qrcode\/build\/qrcode.min.js\"><\/script>\n\n<style>\n  .tm-consent-tool {\n    max-width: 650px;\n    margin: 30px auto;\n    padding: 0;\n    font-family: \"YuGothic\", sans-serif;\n    font-size: 18px;\n    line-height: 1.8;\n    background: none;\n    border: none;\n  }\n\n  .tm-consent-tool h2 {\n    font-size: 24px;\n    text-align: left;\n    margin-bottom: 10px;\n    color: #d25b79;\n  }\n\n  .tm-consent-tool label {\n    font-weight: bold;\n    margin-top: 14px;\n    display: block;\n  }\n\n  .tm-consent-tool input[type=\"text\"],\n  .tm-consent-tool input[type=\"email\"],\n  .tm-consent-tool textarea {\n    width: 100%;\n    padding: 10px;\n    margin-top: 6px;\n    border-radius: 10px;\n    border: 1px solid #d9b6c4;\n    font-size: 18px;\n    background: #ffffff;\n    box-sizing: border-box;\n  }\n\n  .tm-checkbox-line {\n    margin-top: 14px;\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n  }\n\n  .tm-checkbox-line input[type=\"checkbox\"] {\n    width: 20px;\n    height: 20px;\n    margin: 4px 0 0 0;\n    flex-shrink: 0;\n  }\n\n  .tm-space {\n    margin-top: 16px;\n  }\n\n  .tm-consent-tool button {\n    margin-top: 26px;\n    padding: 14px 20px;\n    font-size: 20px;\n    width: 100%;\n    border: none;\n    border-radius: 30px;\n    background: #e47291;\n    color: #fff;\n    font-weight: bold;\n    cursor: pointer;\n  }\n\n  .tm-consent-tool button:hover {\n    opacity: 0.95;\n  }\n\n  .tm-consent-preview img {\n    max-width: 100%;\n    border: 2px solid #e4b6c7;\n    border-radius: 12px;\n  }\n\n  .tm-note-box {\n    background: #fff7fa;\n    border: 1px solid #efc7d4;\n    border-radius: 12px;\n    padding: 14px;\n    margin-top: 18px;\n  }\n\n  .tm-small {\n    font-size: 15px;\n    color: #666;\n  }\n\n  canvas#consentCanvas {\n    display: none;\n  }\n<\/style>\n<\/head>\n<body>\n\n<div class=\"tm-consent-tool\">\n\n  <div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/tomatosearch\/tomato-made.com\/public_html\/study\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>113<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/tomatosearch\/tomato-made.com\/public_html\/study\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>118<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/tomatosearch\/tomato-made.com\/public_html\/study\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>124<\/b><br \/>\n<\/div><h2 id=\"i-0\">\u30c8\u30de\u30c8\u30e1\u30a4\u30c9 \u59d4\u4efb\u78ba\u8a8d\u66f8<\/h2>\n\n  <div class=\"tm-note-box\">\n    \u7121\u65ad\u8ee2\u8f09\u30fb\u4e0d\u6b63\u5229\u7528\u306e\u8abf\u67fb\u3084\u3001\u901a\u5831\u6587\u4f5c\u6210\u30fb\u901a\u5831\u88dc\u52a9\u3092\u4f9d\u983c\u3059\u308b\u65b9\u5411\u3051\u306e\u78ba\u8a8d\u66f8\u3067\u3059\u3002<br>\n<br>\n    \u753b\u50cf\u3092\u4f5c\u6210\u5f8c\u3001<strong>\u76f4\u7b46\u30b5\u30a4\u30f3\u3092\u5165\u308c\u3066<\/strong>\u304a\u9001\u308a\u304f\u3060\u3055\u3044\u3002\n  <\/div>\n\n  <label for=\"shopName\">\u4f5c\u5bb6\u540d\u30fb\u30b7\u30e7\u30c3\u30d7\u540d\uff08\u5fc5\u9808\uff09<\/label>\n  <input type=\"text\" id=\"shopName\" placeholder=\"\u4f8b\uff09\u30c8\u30de\u30c8\u30e1\u30a4\u30c9\">\n\n  <label for=\"realName\">\u672c\u540d\uff08\u5fc5\u9808\uff09<\/label>\n  <input type=\"text\" id=\"realName\" placeholder=\"\u4f8b\uff09\u5c71\u7530 \u82b1\u5b50\">\n\n  <label for=\"emailText\">\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f\u9023\u7d61\u5148\uff08\u5fc5\u9808\uff09<\/label>\n  <input type=\"text\" id=\"emailText\" placeholder=\"\u4f8b\uff09sample@example.com\">\n\n  <label for=\"workName\">\u5bfe\u8c61\u4f5c\u54c1\u540d\u30fb\u30d6\u30e9\u30f3\u30c9\u540d\uff08\u4efb\u610f\uff09<\/label>\n  <input type=\"text\" id=\"workName\" placeholder=\"\u4f8b\uff09\u30cf\u30f3\u30c9\u30e1\u30a4\u30c9\u30dd\u30fc\u30c1 \/ \u25cb\u25cb\u30d6\u30e9\u30f3\u30c9\">\n\n  <label for=\"memoText\" style=\"margin-top: 22px;\">\u88dc\u8db3\u30fb\u4f1d\u3048\u305f\u3044\u3053\u3068\uff08\u4efb\u610f\uff09<\/label>\n  <textarea id=\"memoText\" rows=\"4\" placeholder=\"\u4f8b\uff09\u30e1\u30eb\u30ab\u30ea\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b\u4f5c\u54c1\u753b\u50cf\u304c\u3001\u4ed6\u30b5\u30a4\u30c8\u3067\u7121\u65ad\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\"><\/textarea>\n\n  <label class=\"tm-space\">\u59d4\u4efb\u3059\u308b\u5185\u5bb9<\/label>\n\n  <div class=\"tm-checkbox-line\">\n    <input type=\"checkbox\" id=\"checkA\">\n    <label for=\"checkA\">\u7121\u65ad\u8ee2\u8f09\u30fb\u4e0d\u6b63\u5229\u7528\u306e\u6709\u7121\u306e\u8abf\u67fb\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002<\/label>\n  <\/div>\n\n  <div class=\"tm-checkbox-line\">\n    <input type=\"checkbox\" id=\"checkB\">\n    <label for=\"checkB\">\u8a3c\u62e0\u753b\u50cf\u30fbURL\u306a\u3069\u306e\u6574\u7406\u88dc\u52a9\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002<\/label>\n  <\/div>\n\n  <div class=\"tm-checkbox-line\">\n    <input type=\"checkbox\" id=\"checkC\">\n    <label for=\"checkC\">Google\u30fbAmazon\u30fb\u30d5\u30ea\u30de\u30a2\u30d7\u30ea\u7b49\u3078\u306e\u901a\u5831\u6587\u4f5c\u6210\u88dc\u52a9\u3001\u307e\u305f\u306f\u901a\u5831\u88dc\u52a9\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002<\/label>\n  <\/div>\n\n  <div class=\"tm-checkbox-line\">\n    <input type=\"checkbox\" id=\"checkD\">\n    <label for=\"checkD\">\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001\u8ffd\u52a0\u306e\u78ba\u8a8d\u9023\u7d61\u304c\u5165\u308b\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002<\/label>\n  <\/div>\n\n  <div class=\"tm-checkbox-line\">\n    <input type=\"checkbox\" id=\"checkRight\">\n    <label for=\"checkRight\">\u79c1\u306f\u3001\u76f8\u8ac7\u30fb\u4f9d\u983c\u3059\u308b\u4f5c\u54c1\u3084\u753b\u50cf\u306b\u3064\u3044\u3066\u3001\u672c\u4eba\u307e\u305f\u306f\u6b63\u5f53\u306a\u6a29\u9650\u3092\u6709\u3059\u308b\u7acb\u5834\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/label>\n  <\/div>\n\n  <div class=\"tm-checkbox-line\">\n    <input type=\"checkbox\" id=\"checkAgree\">\n    <label for=\"checkAgree\">\u4e0a\u8a18\u5185\u5bb9\u3092\u78ba\u8a8d\u306e\u3046\u3048\u3001\u30c8\u30de\u30c8\u30e1\u30a4\u30c9\u3078\u8abf\u67fb\u304a\u3088\u3073\u901a\u5831\u88dc\u52a9\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002<\/label>\n  <\/div>\n\n  <p class=\"tm-small\">\n    \u203b\u753b\u50cf\u4f5c\u6210\u5f8c\u3001\u76f4\u7b46\u30b5\u30a4\u30f3\u3092\u8a18\u5165\u3057\u3066\u9001\u3063\u3066\u304f\u3060\u3055\u3044\u3002<br>\n    \u203b\u30b5\u30a4\u30f3\u306f\u753b\u50cf\u7de8\u96c6\u30a2\u30d7\u30ea\u3067\u306e\u8a18\u5165\u3001\u307e\u305f\u306f\u5370\u5237\u5f8c\u306e\u624b\u66f8\u304d\u3067\u3082\u69cb\u3044\u307e\u305b\u3093\u3002\n  <\/p>\n\n  <button id=\"generateBtn\">\u59d4\u4efb\u78ba\u8a8d\u66f8\u753b\u50cf\u3092\u4f5c\u6210<\/button>\n\n  <canvas id=\"consentCanvas\" width=\"900\" height=\"1750\"><\/canvas>\n\n  <div class=\"tm-consent-preview\" id=\"previewArea\" style=\"display:none; margin-top:30px; text-align:center;\">\n    <h3 style=\"font-size: 20px; color:#d25b79;\" id=\"i-1\">\u59d4\u4efb\u78ba\u8a8d\u66f8\u753b\u50cf\u30d7\u30ec\u30d3\u30e5\u30fc<\/h3>\n    <img id=\"previewImg\" alt=\"\u59d4\u4efb\u78ba\u8a8d\u66f8\u30d7\u30ec\u30d3\u30e5\u30fc\">\n    <p>\n      <a id=\"downloadLink\" href=\"#\" download=\"tomato-made-delegation.png\">\u753b\u50cf\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<\/a><br><\/p>\n<br>\n<br>\n     <p style=\"text-align:left;\"><strong><mark>\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5f8c\u306b\u76f4\u7b46\u30b5\u30a4\u30f3\u3092\u5165\u308c\u3066\u9001\u3063\u3066\u304f\u3060\u3055\u3044<\/mark><\/strong>\n    <\/p>\n  <\/div>\n\n<\/div>\n\n<script>\n(function () {\n  const generateBtn = document.getElementById(\"generateBtn\");\n  const canvas = document.getElementById(\"consentCanvas\");\n  const previewArea = document.getElementById(\"previewArea\");\n  const previewImg = document.getElementById(\"previewImg\");\n  const downloadLink = document.getElementById(\"downloadLink\");\n\n  function drawWrappedText(ctx, text, x, y, maxWidth, lineHeight) {\n    const chars = text.split(\"\");\n    let line = \"\";\n\n    for (let i = 0; i < chars.length; i++) {\n      const testLine = line + chars[i];\n      if (ctx.measureText(testLine).width > maxWidth) {\n        ctx.fillText(line, x, y);\n        y += lineHeight;\n        line = chars[i];\n      } else {\n        line = testLine;\n      }\n    }\n\n    if (line) {\n      ctx.fillText(line, x, y);\n      y += lineHeight;\n    }\n\n    return y;\n  }\n\n  function drawCheckLine(ctx, text, checked, x, y, maxWidth, lineHeight) {\n    const prefix = checked ? \"\u2611 \" : \"\u2610 \";\n    return drawWrappedText(ctx, prefix + text, x, y, maxWidth, lineHeight);\n  }\n\n  generateBtn.addEventListener(\"click\", async function () {\n    const shopName = document.getElementById(\"shopName\").value.trim();\n    const realName = document.getElementById(\"realName\").value.trim();\n    const emailText = document.getElementById(\"emailText\").value.trim();\n    const workName = document.getElementById(\"workName\").value.trim();\n    const memoText = document.getElementById(\"memoText\").value.trim();\n\n    const checkA = document.getElementById(\"checkA\").checked;\n    const checkB = document.getElementById(\"checkB\").checked;\n    const checkC = document.getElementById(\"checkC\").checked;\n    const checkD = document.getElementById(\"checkD\").checked;\n    const checkRight = document.getElementById(\"checkRight\").checked;\n    const checkAgree = document.getElementById(\"checkAgree\").checked;\n\n    if (!shopName) {\n      alert(\"\u4f5c\u5bb6\u540d\u30fb\u30b7\u30e7\u30c3\u30d7\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      return;\n    }\n\n    if (!realName) {\n      alert(\"\u672c\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      return;\n    }\n\n    if (!emailText) {\n      alert(\"\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u307e\u305f\u306f\u9023\u7d61\u5148\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      return;\n    }\n\n    if (!checkA && !checkB && !checkC && !checkD) {\n      alert(\"\u59d4\u4efb\u3059\u308b\u5185\u5bb9\u30921\u3064\u4ee5\u4e0a\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\");\n      return;\n    }\n\n    if (!checkRight) {\n      alert(\"\u6a29\u5229\u78ba\u8a8d\u306e\u30c1\u30a7\u30c3\u30af\u304c\u5fc5\u8981\u3067\u3059\u3002\");\n      return;\n    }\n\n    if (!checkAgree) {\n      alert(\"\u4f9d\u983c\u78ba\u8a8d\u306e\u30c1\u30a7\u30c3\u30af\u304c\u5fc5\u8981\u3067\u3059\u3002\");\n      return;\n    }\n\n    const ctx = canvas.getContext(\"2d\");\n    const W = canvas.width;\n    const H = canvas.height;\n    const m = 40;\n    const x = m + 35;\n    const maxWidth = W - (m + 35) * 2;\n    const lineH = 38;\n\n    ctx.clearRect(0, 0, W, H);\n    ctx.fillStyle = \"#ffffff\";\n    ctx.fillRect(0, 0, W, H);\n\n    ctx.strokeStyle = \"#e190a6\";\n    ctx.lineWidth = 6;\n    ctx.strokeRect(m, m, W - m * 2, H - m * 2);\n\n    const qrDataURL = await QRCode.toDataURL(\"https:\/\/tomato-made.com\/study\/uncategorized\/b17\");\n    const qrImg = new Image();\n    qrImg.src = qrDataURL;\n\n    qrImg.onload = function () {\n      let y = m + 85;\n\n      ctx.fillStyle = \"#333333\";\n      ctx.textAlign = \"center\";\n      ctx.font = 'bold 38px \"YuGothic\"';\n      ctx.fillText(\"\u30c8\u30de\u30c8\u30e1\u30a4\u30c9 \u59d4\u4efb\u78ba\u8a8d\u66f8\", W \/ 2, y);\n\n      y += 45;\n      ctx.font = '22px \"YuGothic\"';\n      ctx.fillStyle = \"#555555\";\n      ctx.fillText(\"\u7121\u65ad\u8ee2\u8f09\u30fb\u4e0d\u6b63\u5229\u7528\u306e\u8abf\u67fb\u304a\u3088\u3073\u901a\u5831\u88dc\u52a9\u306b\u95a2\u3059\u308b\u78ba\u8a8d\u66f8\", W \/ 2, y);\n\n      y += 60;\n      ctx.textAlign = \"left\";\n      ctx.fillStyle = \"#333333\";\n\n      ctx.font = 'bold 27px \"YuGothic\"';\n      ctx.fillText(\"\u4f9d\u983c\u8005\u60c5\u5831\", x, y);\n      y += 45;\n\n      ctx.font = '24px \"YuGothic\"';\n      y = drawWrappedText(ctx, \"\u4f5c\u5bb6\u540d\u30fb\u30b7\u30e7\u30c3\u30d7\u540d\uff1a \" + shopName, x, y, maxWidth, lineH);\n      y = drawWrappedText(ctx, \"\u672c\u540d\uff1a \" + realName, x, y + 4, maxWidth, lineH);\n      y = drawWrappedText(ctx, \"\u9023\u7d61\u5148\uff1a \" + emailText, x, y + 4, maxWidth, lineH);\n\n      if (workName) {\n        y = drawWrappedText(ctx, \"\u5bfe\u8c61\u4f5c\u54c1\u540d\u30fb\u30d6\u30e9\u30f3\u30c9\u540d\uff1a \" + workName, x, y + 4, maxWidth, lineH);\n      }\n\n      y += 16;\n      ctx.font = 'bold 27px \"YuGothic\"';\n      ctx.fillText(\"\u59d4\u4efb\u5185\u5bb9\", x, y);\n      y += 45;\n\n      ctx.font = '24px \"YuGothic\"';\n      y = drawCheckLine(ctx, \"\u7121\u65ad\u8ee2\u8f09\u30fb\u4e0d\u6b63\u5229\u7528\u306e\u6709\u7121\u306e\u8abf\u67fb\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002\", checkA, x, y, maxWidth, lineH);\n      y = drawCheckLine(ctx, \"\u8a3c\u62e0\u753b\u50cf\u30fbURL\u306a\u3069\u306e\u6574\u7406\u88dc\u52a9\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002\", checkB, x, y + 6, maxWidth, lineH);\n      y = drawCheckLine(ctx, \"Google\u30fbAmazon\u30fb\u30d5\u30ea\u30de\u30a2\u30d7\u30ea\u7b49\u3078\u306e\u901a\u5831\u6587\u4f5c\u6210\u88dc\u52a9\u3001\u307e\u305f\u306f\u901a\u5831\u88dc\u52a9\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002\", checkC, x, y + 6, maxWidth, lineH);\n      y = drawCheckLine(ctx, \"\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001\u8ffd\u52a0\u306e\u78ba\u8a8d\u9023\u7d61\u304c\u5165\u308b\u3053\u3068\u306b\u540c\u610f\u3057\u307e\u3059\u3002\", checkD, x, y + 6, maxWidth, lineH);\n\n      y += 16;\n      ctx.font = 'bold 27px \"YuGothic\"';\n      ctx.fillText(\"\u78ba\u8a8d\u4e8b\u9805\", x, y);\n      y += 45;\n\n      ctx.font = '24px \"YuGothic\"';\n      y = drawWrappedText(ctx, \"\u79c1\u306f\u3001\u76f8\u8ac7\u30fb\u4f9d\u983c\u3059\u308b\u4f5c\u54c1\u3084\u753b\u50cf\u306b\u3064\u3044\u3066\u3001\u672c\u4eba\u307e\u305f\u306f\u6b63\u5f53\u306a\u6a29\u9650\u3092\u6709\u3059\u308b\u7acb\u5834\u3067\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002\", x, y, maxWidth, lineH);\n      y = drawWrappedText(ctx, \"\u307e\u305f\u3001\u4e0a\u8a18\u5185\u5bb9\u3092\u78ba\u8a8d\u306e\u3046\u3048\u3001\u30c8\u30de\u30c8\u30e1\u30a4\u30c9\u3078\u8abf\u67fb\u304a\u3088\u3073\u901a\u5831\u88dc\u52a9\u3092\u4f9d\u983c\u3057\u307e\u3059\u3002\", x, y + 6, maxWidth, lineH);\n\n      if (memoText) {\n        y += 16;\n        ctx.font = 'bold 27px \"YuGothic\"';\n        ctx.fillText(\"\u88dc\u8db3\u4e8b\u9805\", x, y);\n        y += 45;\n        ctx.font = '24px \"YuGothic\"';\n        y = drawWrappedText(ctx, memoText, x, y, maxWidth, lineH);\n      }\n\n      const today = new Date();\n      const dateStr = today.getFullYear() + \"\u5e74\" + (today.getMonth() + 1) + \"\u6708\" + today.getDate() + \"\u65e5\";\n\n      const signTop = H - 360;\n\n      ctx.strokeStyle = \"#d9b6c4\";\n      ctx.lineWidth = 3;\n      ctx.strokeRect(x, signTop, maxWidth, 150);\n\n      ctx.fillStyle = \"#333333\";\nctx.font = 'bold 24px \"YuGothic\"';\nctx.fillText(\"\u76f4\u7b46\u30b5\u30a4\u30f3\u6b04\", x + 18, signTop + 38);\n\nctx.font = '20px \"YuGothic\"';\nctx.fillStyle = \"#666666\";\nctx.fillText(\"\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5f8c\u3001\u753b\u50cf\u7de8\u96c6\u307e\u305f\u306f\u624b\u66f8\u304d\u3067\u30b5\u30a4\u30f3\u3092\u8a18\u5165\u3057\u3066\u304f\u3060\u3055\u3044\u3002\", x + 18, signTop + 78);\nctx.fillText(\"\u4f9d\u983c\u8005\u6c0f\u540d\uff1a \" + realName, x + 18, signTop + 116);\n\n      ctx.fillStyle = \"#333333\";\n      ctx.font = '24px \"YuGothic\"';\n      ctx.fillText(\"\u4f5c\u6210\u65e5\uff1a \" + dateStr, x, H - 135);\n      ctx.fillText(\"\u4f5c\u6210\u8005\uff1a \u30c8\u30de\u30c8\u30e1\u30a4\u30c9\", x, H - 95);\n\n      const qrSize = 110;\n      ctx.drawImage(\n        qrImg,\n        W - m - qrSize - 20,\n        H - m - qrSize - 20,\n        qrSize,\n        qrSize\n      );\n\n      const url = canvas.toDataURL(\"image\/png\");\n      previewImg.src = url;\n      downloadLink.href = url;\n      previewArea.style.display = \"block\";\n\n      window.scrollTo({\n        top: previewArea.offsetTop - 40,\n        behavior: \"smooth\"\n      });\n    };\n  });\n})();\n<\/script>\n\n<\/body>\n\n<\/html><\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u30c8\u30de\u30c8\u30e1\u30a4\u30c9 \u59d4\u4efb\u78ba\u8a8d\u66f8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u30fc Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/tomatosearch\/tomato-made.com\/public_html\/ &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-8045","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-uncategorized","7":"entry","8":"nothumb"},"_links":{"self":[{"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/posts\/8045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/comments?post=8045"}],"version-history":[{"count":6,"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/posts\/8045\/revisions"}],"predecessor-version":[{"id":8053,"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/posts\/8045\/revisions\/8053"}],"wp:attachment":[{"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/media?parent=8045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/categories?post=8045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tomato-made.com\/study\/wp-json\/wp\/v2\/tags?post=8045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}