# posts

title: 文章标题3
slug: 文章标题3
excerpt: 摘要3
status: published
created_at: 2025-12-29 23:23:26
updated_at: 2025-12-29 23:23:26
published_at: 2025-12-29 23:23:26
content:
  文章内容上传失败：Cannot access 'editor' before initialization上传失败：Cannot access 'editor' before initialization上传失败：Cannot access 'editor' before initialization小小的标志
  首页
  定价
  语言包
  登录
  获取免费API密钥
  获取TinyMCE
  TinyMCE 文档
  入门
  作指南
  示例
  初始配置
  界面
  内容
  插件
  交通便利性
  安全性
  发行信息
  无效的API密钥
  许可证密钥
  支持
  基于使用的计费
  API 参考
  Banner 提供专业计划免费 14 天试用，鼓励用户注册并体验增强功能，无需初始承诺。底部显示“开始试炼”按钮
  TinyMCE 文档
  无效的API密钥
  TinyMCE 文档 v8
  目录
  我怎么知道这个变化是否影响到我？
  我该如何获得API密钥？
  如果我不提供有效的API密钥，会发生什么？
  为什么需要API密钥？
  如果 TinyMCE 是免费且开源的，为什么还需要 API 密钥？
  我安装了NPM包，我以为它会自托管。为什么我会收到通知说需要API密钥？
  我用TinyMCE已经好多年了。为什么我现在收到通知说需要API密钥？
  “此域名未注册于Tiny Cloud”这条消息是什么意思？
  我该如何解决未注册域名的问题？
  我在哪里可以查看我的Tiny Cloud账户批准的域名列表？
  我更愿意自架TinyMCE。我有哪些选择？
  开始使用 TinyMCE
  看看即将推出的内容，投票评选功能，提交你的想法
  无效的API密钥
  从2024年初开始，我们云平台上的所有编辑者都必须拥有有效的API密钥。如果没有有效的API密钥，编辑器会切换到只读模式，限制你进行修改的能力。

  受影响的用户将在编辑器中收到通知。如果您收到此通知，请联系申请/网站管理员。管理员需要获得有效的API密钥并将其粘贴到代码中，才能继续使用TinyMCE。

  创建您的免费Tiny账户并获取API密钥只需2分钟：

  登记
  用电子邮件
  谷歌GitHub->
  我怎么知道这个变化是否影响到我？
  如果 TinyMCE 检测到无效的 API 密钥，它会显示通知。如果您知道或怀疑自己一直在主动隐藏或压制此通知，请移除这些覆盖。如果看到通知，请按照说明解决问题。如果没有通知，你就不会受到影响。

  我该如何获得API密钥？
  拥有你 TinyMCE 实现的管理员需要在这里登录才能获取你账户的 API 密钥。如果你还没有账户，可以注册免费的API密钥。付费用户可以联系我们的技术支持团队寻求帮助。

  如果我不提供有效的API密钥，会发生什么？
  所有在我们云平台上没有有效API密钥的编辑者，将在2024年初被设置为只读模式。如果你自主机 TinyMCE，你不会受到影响。

  为什么需要API密钥？
  我们要求所有 TinyMCE 编辑器在云平台上使用API密钥，以维护服务质量、确保可靠安全性并跟上行业最佳实践。

  如果 TinyMCE 是免费且开源的，为什么还需要 API 密钥？
  TinyMCE 可以通过多种许可和托管方式访问，包括免费和付费选项。

  TinyMCE 的免费开源选项可通过 GNU 通用公共许可证 2 或更高版本提供。用户必须自行托管 TinyMCE 才能享受开源许可。这种许可证不需要API密钥。

  TinyMCE 的云托管选项以商业许可证形式提供，详见此处描述。这种类型的许可证需要一个有效的API密钥。

  如果您收到错误通知，说明您正在使用TinyMCE的云托管选项，采用商业许可。如果你想继续使用 TinyMCE 而不使用 API 密钥，你需要迁移到免费的开源自托管选项，或者使用第三方托管的 MIT 许可下的 CDN 选项。

  我安装了NPM包，我以为它会自托管。为什么我会收到通知说需要API密钥？
  我们的集成默认使用TinyMCE云服务。如果你收到需要API密钥的通知，说明你正在使用TinyMCE的云托管选项，商业许可要求有效API，并且每月免费下载1000次编辑器。

  请阅读我们的文档，了解如何自托管TinyMCE，或在此注册继续使用TinyMCE Cloud。

  I’ve used TinyMCE for years. Why am I now receiving notification that an API key is required?
  Thank you for your long-term use of TinyMCE and for selecting it for your projects. If you’re suddenly receiving this notification, it means that previous versions of the notification were hidden within your TinyMCE editor. We are working to ensure that all active users of TinyMCE are aware of the API key requirement, including those that may have hidden these notifications in the past.

  What does the message "This domain is not registered with Tiny Cloud" mean?
  This message means that the domain attempting to use TinyMCE is not registered with Tiny Cloud. Starting in 2024, a registered domain will be required to continue using TinyMCE.

  How can I resolve the issue of an unregistered domain?
  To resolve this issue, please inform your administrator and request that they review the list of approved domains on your Tiny Account. If necessary, they will need to add the unregistered domain to the approved list. Learn more here.

  Where can I view the list of approved domains for my Tiny Cloud account?
  You can view the list of approved domains by logging into your Tiny Account. The approved domains are stored against your API Key.

  I would prefer to self-host TinyMCE. What are my options?
  If you plan to use only open-source TinyMCE features, the open-source version is available under the GNU General Public License Version 2 or later license.

  If you want to self-host TinyMCE and use our Premium features, get in touch with our Sales team for a custom quote.

  For additional information on Troubleshooting Tiny Cloud visit: Cloud Troubleshooting.
  Getting Started with TinyMCE
  TinyMCE is a rich text editor designed for web applications. To install TinyMCE, include the required script and initialize the editor with a minimal configuration. Upon registration, an API key is provided along with a corresponding code snippet for integration.

  It only takes 2 minutes to create your free Tiny account and get the API key:

  Sign up
   with email
  GoogleGitHub->

  Stay Connected

  SOC2 compliance badge
  Products

  TinyMCE
  Drive
  MoxieManager
  Pricing

  TinyMCE
  Drive
  MoxieManager
  Developers

  Documentation
  Get Started
  Integrations
  API Reference
  Roadmap
  Support
  Blog
  Editor Comparisons
  Get TinyMCE Free
  Company

  About
  Who is Tiny?
  Careers
  Partners
  Contact Us
  Legal
  Security
  © Copyright 2025 Tiny Technologies Inc.
  TinyMCE® and Tiny® are registered trademarks of Tiny Technologies, Inc.


  Cookie设置
  无法连接到 reCAPTCHA 服务。请检查您的互联网连接，然后重新加载网页以获取 reCAPTCHA 验证任务。


title: https://www.deepseek.com/
slug: httpswwwdeepseekcom
excerpt: https://www.deepseek.com/
status: published
created_at: 2025-12-30 09:43:23
updated_at: 2025-12-30 09:43:23
published_at: 2025-12-30 09:43:23
content:
  https://www.deepseek.com/https://www.deepseek.com/https://www.deepseek.com/
  <img src="/assets/uploads/2025/12/20251230094309_69532e2d947a2.JPEG" alt="上传图片">


title: rwwer
slug: r
excerpt: werwer
status: published
created_at: 2025-12-30 09:57:42
updated_at: 2025-12-30 13:31:34
published_at: 2025-12-30 09:58:33
content:
  werwerwer
  <img src="assets/uploads/2025/12/20251230095657_695331694d1b7.JPEG" alt="上传图片">
  32434324432


title: sdgds
slug: s
excerpt: dfgdfg
status: published
created_at: 2025-12-30 10:03:50
updated_at: 2025-12-30 13:31:21
published_at: 2025-12-30 10:03:50
content:
  dfgdfgdfg
  <img src="http://boke/assets/uploads/2025/12/20251230100342_695332feaae45.webp" alt="上传图片">


title: 文章标题 *
slug: -
excerpt: 摘要
status: published
created_at: 2025-12-30 13:29:23
updated_at: 2025-12-31 22:21:10
published_at: 2025-12-30 13:29:23
content:
  <p>文章内容 * <!--?php
  /**
   * 后台新建文章
   */
  session_start();

  require_once 'config/security.php';
  require_once 'includes/functions.php';
  require_once 'config/Database.php';
  require_once 'models/BlogModel.php';
  require_once 'models/CategoryModel.php';
  require_once 'models/TagModel.php';

  // 仅管理员可访问
  if (!isset($_SESSION['user_id']) || $_SESSION['user_role'] !== 'admin') {
      header('Location: login.php');
      exit();
  }

  $blogModel = new BlogModel();
  $categoryModel = new CategoryModel();
  $tagModel = new TagModel();

  $categories = $categoryModel--->getAllCategories(); $tags = $tagModel-&gt;getAllTags(); // 处理提交 if ($_SERVER[&#39;REQUEST_METHOD&#39;] === &#39;POST&#39;) { if (CSRF_PROTECTION &amp;&amp; (!isset($_POST[&#39;csrf_token&#39;]) || !verifyCsrfToken($_POST[&#39;csrf_token&#39;]))) { $_SESSION[&#39;error&#39;] = &#39;安全验证失败，请重试&#39;; header(&#39;Location: admin-new-post.php&#39;); exit(); } $title = trim($_POST[&#39;title&#39;] ?? &#39;&#39;); $slug = trim($_POST[&#39;slug&#39;] ?? &#39;&#39;); $content = $_POST[&#39;content&#39;] ?? &#39;&#39;; $excerpt = trim($_POST[&#39;excerpt&#39;] ?? &#39;&#39;); $categoryId = !empty($_POST[&#39;category_id&#39;]) ? (int)$_POST[&#39;category_id&#39;] : null; $status = $_POST[&#39;status&#39;] ?? &#39;draft&#39;; $featuredImage = trim($_POST[&#39;featured_image&#39;] ?? &#39;&#39;); $metaKeywords = trim($_POST[&#39;meta_keywords&#39;] ?? &#39;&#39;); $metaDescription = trim($_POST[&#39;meta_description&#39;] ?? &#39;&#39;); $tagIds = isset($_POST[&#39;tags&#39;]) ? array_map(&#39;intval&#39;, $_POST[&#39;tags&#39;]) : []; if (empty($title) || empty($content)) { $_SESSION[&#39;error&#39;] = &#39;标题和内容不能为空&#39;; } else { if (empty($slug)) { $slug = generateSlug($title); } $postId = $blogModel-&gt;createPost([ &#39;title&#39; =&gt; $title, &#39;slug&#39; =&gt; $slug, &#39;content&#39; =&gt; $content, &#39;excerpt&#39; =&gt; $excerpt, &#39;author_id&#39; =&gt; $_SESSION[&#39;user_id&#39;], &#39;category_id&#39; =&gt; $categoryId, &#39;status&#39; =&gt; $status, &#39;featured_image&#39; =&gt; $featuredImage, &#39;meta_keywords&#39; =&gt; $metaKeywords, &#39;meta_description&#39; =&gt; $metaDescription, &#39;tags&#39; =&gt; $tagIds ]); if ($postId) { $_SESSION[&#39;message&#39;] = &#39;文章创建成功&#39;; // 确保在重定向前没有输出 ob_clean(); header(&#39;Location: admin-edit-post.php?id=&#39; . $postId); exit(); } else { $_SESSION[&#39;error&#39;] = &#39;文章创建失败，请检查数据是否正确&#39;; } } } // 包含后台头部模板 include &#39;views/backend/layout/header.php&#39;; ?&gt;</p>
  <!--?php include 'views/backend/layout/sidebar.php'; ?-->

  <h1>新建文章</h1>

  <p><a class="btn btn-sm btn-outline-secondary" href="admin-posts.php">返回列表 </a></p>
  <!-- 显示消息 --><!--?php if (isset($_SESSION['error'])): ?-->

  <p><!--?php echo e($_SESSION['error']); ?--></p>
  <!--?php unset($_SESSION['error']); ?--><!--?php endif; ?--><!--?php if (CSRF_PROTECTION): ?-->

  <p>&nbsp;</p>
  <!--?php endif; ?-->

  <p>文章标题 *</p>

  <p>URL Slug <small>留空将根据标题自动生成</small></p>

  <p>摘要&lt;?php echo e($_POST[&#39;excerpt&#39;] ?? &#39;&#39;); ?&gt; <small>文章摘要，用于列表页显示</small></p>

  <p>文章内容 *&lt;?php echo e($_POST[&#39;content&#39;] ?? &#39;&#39;); ?&gt;</p>
  <!-- 图片上传按钮 -->

  <p>上传图片</p>

  <p>发布设置</p>

  <p>状态 &gt;草稿&gt;已发布&gt;私有</p>

  <p>保存文章发布</p>

  <p>分类</p>

  <p>无分类 <!--?php foreach ($categories as $category): ?-->&gt; <!--?php echo e($category['name']); ?--> <!--?php endforeach; ?--></p>

  <p>标签</p>
  <!--?php if (!empty($tags)): ?--><!--?php foreach ($tags as $tag): ?-->

  <p>&gt; <!--?php echo e($tag['name']); ?--> (<!--?php echo (int)$tag['post_count']; ?-->)</p>
  <!--?php endforeach; ?--><!--?php else: ?-->

  <p>暂无标签</p>
  <!--?php endif; ?-->

  <p>特色图片</p>

  <p>SEO设置</p>

  <p>关键词</p>

  <p>描述&lt;?php echo e($_POST[&#39;meta_description&#39;] ?? &#39;&#39;); ?&gt;</p>
  <!-- CKEditor 4 富文本编辑器（免费，无需API key，支持中文）--><!--?php include 'views/backend/layout/footer.php'; ?-->

  <p><img alt="上传图片" src="http://boke/assets/uploads/2025/12/20251230132914_6953632a9ad74.JPEG" /></p>


title: DeepSeek | 深度求索
slug: deepseek-深度求索
status: published
featured_image: /uploads/6955d4bb68f7f.png
created_at: 2025-12-30 13:51:03
updated_at: 2026-01-01 09:58:27
published_at: 2026-01-01 09:58:27
content:
  <p><img alt="DeepSeek Logo" class="max-w-40 mb-6 mt-1" src="https://cdn.deepseek.com/logo.png?x-image-process=image%2Fresize%2Cw_1920" style="color:transparent; height:165px; width:780px" /></p>

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <p>&nbsp;</p>

  <p>&copy; 2025 杭州深度求索人工智能基础技术研究有限公司 版权所有</p>

  <p><a class="ds-a ds-a--link text-sm !text-slate-400" href="https://beian.miit.gov.cn/" target="_blank">浙ICP备2023025841号</a><a class="ds-a ds-a--link text-sm !text-slate-400" href="https://tsm.miit.gov.cn/dxxzsp/xkz/xkzgl/resource/qiyesearch.jsp?num=%E6%B5%99B2-20250178&amp;type=xuke" target="_blank">浙B2-20250178</a><a class="ds-a ds-a--link text-sm !text-slate-400" href="https://beian.mps.gov.cn/#/query/webSearch?code=33010502011812" target="_blank">浙公网安备33010502011812号</a></p>

  <p>研究</p>

  <p><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-R1" style="--a-text-color:inherit" target="_blank">DeepSeek R1</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-V3" style="--a-text-color:inherit" target="_blank">DeepSeek V3</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-Coder-V2" style="--a-text-color:inherit" target="_blank">DeepSeek Coder V2</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-VL" style="--a-text-color:inherit" target="_blank">DeepSeek VL</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-V2" style="--a-text-color:inherit" target="_blank">DeepSeek V2</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-Coder" style="--a-text-color:inherit" target="_blank">DeepSeek Coder</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-Math" style="--a-text-color:inherit" target="_blank">DeepSeek Math</a><a class="ds-a ds-a--link cursor-pointer" href="https://github.com/deepseek-ai/DeepSeek-LLM" style="--a-text-color:inherit" target="_blank">DeepSeek LLM</a></p>

  <p>产品</p>

  <p><a class="ds-a ds-a--link cursor-pointer" href="https://download.deepseek.com/app/" style="--a-text-color:inherit" target="_blank">DeepSeek App</a><a class="ds-a ds-a--link cursor-pointer" href="https://chat.deepseek.com" style="--a-text-color:inherit" target="_blank">DeepSeek 网页版</a><a class="ds-a ds-a--link cursor-pointer" href="https://platform.deepseek.com" style="--a-text-color:inherit" target="_blank">开放平台</a><a class="ds-a ds-a--link cursor-pointer" href="https://api-docs.deepseek.com/quick_start/pricing" style="--a-text-color:inherit" target="_blank">API 价格</a><a class="ds-a ds-a--link cursor-pointer" href="https://status.deepseek.com" style="--a-text-color:inherit" target="_blank">服务状态</a></p>

  <p>法务 &amp; 安全</p>

  <p><a class="ds-a ds-a--link cursor-pointer" href="https://cdn.deepseek.com/policies/en-US/deepseek-privacy-policy.html" style="--a-text-color:inherit" target="_blank">隐私政策</a><a class="ds-a ds-a--link cursor-pointer" href="https://cdn.deepseek.com/policies/en-US/deepseek-terms-of-use.html" style="--a-text-color:inherit" target="_blank">用户协议</a><a class="ds-a ds-a--link cursor-pointer" href="https://www.deepseek.com/mailto:security@deepseek.com" style="--a-text-color:inherit" target="_blank">反馈安全漏洞</a></p>

  <p>加入我们</p>

  <p><a class="ds-a ds-a--link cursor-pointer" href="https://app.mokahr.com/social-recruitment/high-flyer/140576" style="--a-text-color:inherit" target="_blank">岗位详情</a></p>

excerpt:
  © 2025 杭州深度求索人工智能基础技术研究有限公司 版权所有浙ICP备2023025841号浙B2-20250178浙公网安备33010502011812号研究DeepSeek R1DeepSeek V3DeepSeek Coder V2DeepSeek VLDeepSeek V2DeepSeek CoderDeepSeek MathDeepSeek LLM产品DeepSeek AppDeep

meta_description:
  © 2025 杭州深度求索人工智能基础技术研究有限公司 版权所有浙ICP备2023025841号浙B2-20250178浙公网安备33010502011812号研究DeepSeek R1DeepSeek V3DeepSeek Coder V2DeepSeek VLDeepSeek V2DeepSeek CoderDeepSeek MathDeepSeek LLM产品DeepSeek AppDeep


title: php开源采集类Snoopy.class.php功能使用介绍与下载地址_snoopy.class.php
slug: php开源采集类snoopyclassphp功能使用介绍与下载地址snoopyclassphp下载-csdn博客
status: published
created_at: 2025-12-30 13:57:36
updated_at: 2025-12-31 17:52:08
published_at: 2025-12-30 13:57:36
content:
  <h2>Snoopy是什么?</h2>

  <p>Snoopy是一个php类，用来模仿web浏览器的功能，它能完成获取网页内容和发送表单的任务。</p>

  <h3>Snoopy的一些特点:</h3>

  <p>* 方便抓取网页的内容<br />
  * 方便抓取网页的文本内容 (去除HTML标签)<br />
  * 方便抓取网页的链接<br />
  * 支持代理主机<br />
  * 支持基本的用户名/密码验证<br />
  * 支持设置 user_agent, referer(来路), cookies 和 header content(头文件)<br />
  * 支持浏览器转向，并能控制转向深度<br />
  * 能把网页中的链接扩展成高质量的url(默认)<br />
  * 方便提交数据并且获取返回值<br />
  * 支持跟踪HTML框架(v0.92增加)<br />
  * 支持再转向的时候传递cookies (v0.92增加)<br />
  * 支持再转向的时候传递cookies</p>

  <h3>要求:</h3>

  <p>Snoopy requires PHP with PCRE (Perl Compatible Regular Expressions),<br />
  which should be PHP 3.0.9 and up. For read timeout support, it requires<br />
  PHP 4 Beta 4 or later. Snoopy was developed and tested with PHP 3.0.12.</p>

  <h3>类方法:</h3>

  <p>fetch($URI)<br />
  &mdash;&mdash;&mdash;&ndash;</p>

  <p>这是为了抓取网页的内容而使用的方法。<br />
  $URI参数是被抓取网页的URL地址。<br />
  抓取的结果被存储在 $this-&gt;results 中。<br />
  如果你正在抓取的是一个框架，Snoopy将会将每个框架追踪后存入数组中，然后存入 $this-&gt;results。</p>

  <p>fetchtext($URI)<br />
  &mdash;&mdash;&mdash;&mdash;&mdash;</p>

  <p>本方法类似于fetch()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中的文字内容。</p>

  <p>fetchform($URI)<br />
  &mdash;&mdash;&mdash;&mdash;&mdash;</p>

  <p>本方法类似于fetch()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中表单内容(form)。</p>

  <p>fetchlinks($URI)<br />
  &mdash;&mdash;&mdash;&mdash;&mdash;-</p>

  <p>本方法类似于fetch()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中链接(link)。<br />
  默认情况下，相对链接将自动补全，转换成完整的URL。</p>

  <p>submit($URI,$formvars)<br />
  &mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;-</p>

  <p>本方法向$URL指定的链接地址发送确认表单。$formvars是一个存储表单参数的数组。</p>

  <p>submittext($URI,$formvars)<br />
  &mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&ndash;</p>

  <p>本方法类似于submit()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回登陆后网页中的文字内容。</p>

  <p>submitlinks($URI)<br />
  &mdash;&mdash;&mdash;&mdash;&mdash;-</p>

  <p>本方法类似于submit()，唯一不同的就是本方法会去除HTML标签和其他的无关数据，只返回网页中链接(link)。<br />
  默认情况下，相对链接将自动补全，转换成完整的URL。</p>

  <h3>类属性:&nbsp;(缺省值在括号里)</h3>

  <p>$host&nbsp; 连接的主机<br />
  $port&nbsp; 连接的端口<br />
  $proxy_host&nbsp; 使用的代理主机，如果有的话<br />
  $proxy_port&nbsp; 使用的代理主机端口，如果有的话<br />
  $agent&nbsp; 用户代理伪装 (Snoopy v0.1)<br />
  $referer&nbsp; 来路信息，如果有的话<br />
  $cookies&nbsp; cookies， 如果有的话<br />
  $rawheaders&nbsp; 其他的头信息, 如果有的话<br />
  $maxredirs&nbsp; 最大重定向次数， 0=不允许 (5)<br />
  $offsiteok&nbsp; whether or not to allow redirects off-site. (true)<br />
  $expandlinks&nbsp; 是否将链接都补全为完整地址 (true)<br />
  $user&nbsp; 认证用户名, 如果有的话<br />
  $pass&nbsp; 认证用户名, 如果有的话<br />
  $accept&nbsp; http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)<br />
  $error&nbsp; 哪里报错, 如果有的话<br />
  $response_code&nbsp; 从服务器返回的响应代码<br />
  $headers&nbsp; 从服务器返回的头信息<br />
  $maxlength&nbsp; 最长返回数据长度<br />
  $read_timeout&nbsp; 读取操作超时 (requires PHP 4 Beta 4+)<br />
  设置为0为没有超时<br />
  $timed_out&nbsp; 如果一次读取操作超时了，本属性返回 true (requires PHP 4 Beta 4+)<br />
  $maxframes&nbsp; 允许追踪的框架最大数量<br />
  $status&nbsp; 抓取的http的状态<br />
  $temp_dir&nbsp; 网页服务器能够写入的临时文件目录 (/tmp)<br />
  $curl_path&nbsp; cURL binary 的目录, 如果没有cURL binary就设置为 false</p>

  <h3>1. 采集页面内容</h3>

  <table>
  	<tbody>
  		<tr>
  			<td><code>01</code></td>
  			<td><code>include</code><code>(</code><code>&#39;include/snoopy.class.php&#39;</code><code>);</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>02</code></td>
  			<td><code>echo</code>&nbsp;<code>&quot;&lt;pre&gt;&quot;</code><code>;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>03</code></td>
  			<td><code>$snoopy</code>&nbsp;<code>=&nbsp;</code><code>new</code>&nbsp;<code>Snoopy;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>04</code></td>
  			<td><code>$snoopy</code><code>-&gt;host =&nbsp;</code><code>&#39;<a href="http://www.baidu.com/" rel="nofollow">http://www.baidu.com</a>&#39;</code><code>;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>05</code></td>
  			<td><code>$snoopy</code><code>-&gt; fetchtext(</code><code>$snoopy</code><code>-&gt;host);&nbsp;</code><code>//获取所有文本内容（去掉html代码）</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>06</code></td>
  			<td><code>/*</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>07</code></td>
  			<td><code>$snoopy-&gt;fetch($snoopy-&gt;host); //获取页面所有链接</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>08</code></td>
  			<td><code>$snoopy-&gt;fetchlinks($snoopy-&gt;host); //获取页面所有链接</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>09</code></td>
  			<td><code>$snoopy-&gt;fetchlinks($snoopy-&gt;host); //获取链接&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>10</code></td>
  			<td><code>$snoopy-&gt;fetchform($snoopy-&gt;host);&nbsp; //获取表单&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>11</code></td>
  			<td><code>*/</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>12</code></td>
  			<td><code>print_r(</code><code>$snoopy</code><code>-&gt;results);</code></td>
  		</tr>
  	</tbody>
  </table>

  <h3>&nbsp;</h3>

  <h3>2. 下载指定url图片</h3>

  <table>
  	<tbody>
  		<tr>
  			<td><code>01</code></td>
  			<td><code>include_once</code><code>(&nbsp;</code><code>&#39;include/snoopy.class.php&#39;</code>&nbsp;<code>);&nbsp;&nbsp;</code><code>//调用Snoopy类</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>02</code></td>
  			<td>&nbsp;</td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>03</code></td>
  			<td><code>function</code>&nbsp;<code>getImage(</code><code>$id</code><code>,</code><code>$url</code><code>) {</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>04</code></td>
  			<td>&nbsp;</td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>05</code></td>
  			<td><code>&nbsp;</code><code>$filename</code>&nbsp;<code>=&nbsp;</code><code>$id</code>&nbsp;<code>.&nbsp;</code><code>&quot;.jpg&quot;</code><code>;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>06</code></td>
  			<td>&nbsp;</td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>07</code></td>
  			<td><code>&nbsp;</code><code>$temp</code>&nbsp;<code>=&nbsp;</code><code>new</code>&nbsp;<code>Snoopy;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>08</code></td>
  			<td><code>&nbsp;</code><code>$temp</code>&nbsp;<code>-&gt; fetch(</code><code>$url</code><code>);</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>09</code></td>
  			<td><code>&nbsp;</code><code>if</code><code>(</code><code>$temp</code><code>-&gt;results !=&nbsp;</code><code>&quot;&quot;</code><code>) {</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>10</code></td>
  			<td><code>&nbsp;&nbsp;</code><code>$handle</code>&nbsp;<code>=&nbsp;</code><code>fopen</code><code>(</code><code>&quot;images/&quot;</code>&nbsp;<code>.&nbsp;</code><code>$filename</code><code>,&nbsp;</code><code>&quot;w&quot;</code><code>);</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>11</code></td>
  			<td><code>&nbsp;&nbsp;</code><code>fwrite(</code><code>$handle</code><code>,&nbsp;</code><code>$temp</code><code>-&gt;results);</code><code>//写入抓得内容</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>12</code></td>
  			<td><code>&nbsp;&nbsp;</code><code>fclose(</code><code>$handle</code><code>);</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>13</code></td>
  			<td><code>&nbsp;</code><code>}</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>14</code></td>
  			<td><code>&nbsp;</code><code>return</code>&nbsp;<code>$filename</code><code>;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>15</code></td>
  			<td><code>}</code></td>
  		</tr>
  	</tbody>
  </table>

  <h3>3. 获取表单</h3>

  <table>
  	<tbody>
  		<tr>
  			<td><code>1</code></td>
  			<td><code>$snoopy</code>&nbsp;<code>=&nbsp;</code><code>new</code>&nbsp;<code>Snoopy;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>2</code></td>
  			<td><code>$snoopy</code><code>-&gt;fetchform(</code><code>&quot;<a href="http://lzw.me/login.asp" rel="nofollow">http://lzw.me/login.asp</a>&quot;</code><code>);&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>3</code></td>
  			<td><code>print</code>&nbsp;<code>$snoopy</code><code>-&gt;results;</code></td>
  		</tr>
  	</tbody>
  </table>

  <h3>4. 表单提交（如登陆等）<br />
  &nbsp;</h3>

  <table>
  	<tbody>
  		<tr>
  			<td><code>01</code></td>
  			<td><code>$formvars</code><code>[</code><code>&quot;username&quot;</code><code>] =&nbsp;</code><code>&quot;test&quot;</code><code>;&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>02</code></td>
  			<td><code>$formvars</code><code>[</code><code>&quot;pwd&quot;</code><code>] =&nbsp;</code><code>&quot;123456&quot;</code><code>;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>03</code></td>
  			<td><code>&nbsp;&nbsp;&nbsp;</code>&nbsp;</td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>04</code></td>
  			<td><code>$action</code>&nbsp;<code>=&nbsp;</code><code>&quot;<a href="http://lzw.me/login.asp" rel="nofollow">http://lzw.me/login.asp</a>&quot;</code><code>;//表单提交地址&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>05</code></td>
  			<td><code>$snoopy</code><code>-&gt;submit(</code><code>$action</code><code>,</code><code>$formvars</code><code>);</code><code>//$formvars为提交的数组&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>06</code></td>
  			<td><code>echo</code>&nbsp;<code>$snoopy</code><code>-&gt;results;&nbsp;</code><code>//获取表单提交后的 返回的结果&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>07</code></td>
  			<td><code>/*可选</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>08</code></td>
  			<td><code>$snoopy-&gt;submittext($action,$formvars); //提交后只返回 去除html的 文本&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>09</code></td>
  			<td><code>$snoopy-&gt;submitlinks($action,$formvars); //提交后只返回 链接</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>10</code></td>
  			<td><code>*/</code></td>
  		</tr>
  	</tbody>
  </table>

  <h3>5. 伪装ip,伪装浏览器<br />
  &nbsp;</h3>

  <p><a href="http://lzw.me/a/php-collect-class-snoopy.html#viewSource" rel="nofollow" style="background-color:transparent;width:16px;height:16px;color:rgb(56,86,111);float:left;margin-left:8px;background-repeat:no-repeat;text-indent:-5000px;background-image:url(&quot;page_white_code.png&quot;);" title="查看源码">查看源码</a></p>

  <table>
  	<tbody>
  		<tr>
  			<td><code>01</code></td>
  			<td><code>$formvars</code><code>[</code><code>&quot;username&quot;</code><code>] =&nbsp;</code><code>&quot;admin&quot;</code><code>;&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>02</code></td>
  			<td><code>$formvars</code><code>[</code><code>&quot;pwd&quot;</code><code>] =&nbsp;</code><code>&quot;admin&quot;</code><code>;&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>03</code></td>
  			<td><code>$action</code>&nbsp;<code>=&nbsp;</code><code>&quot;<a href="http://lzw.me/" rel="nofollow">http://lzw.me</a>&quot;</code><code>;&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>04</code></td>
  			<td><code>include</code>&nbsp;<code>&quot;snoopy.php&quot;</code><code>;&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>05</code></td>
  			<td><code>$snoopy</code>&nbsp;<code>=&nbsp;</code><code>new</code>&nbsp;<code>Snoopy;&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>06</code></td>
  			<td><code>$snoopy</code><code>-&gt;cookies[</code><code>&quot;PHPSESSID&quot;</code><code>] =&nbsp;</code><code>&#39;fc106b1918bd522cc863f36890e6fff7&#39;</code><code>;&nbsp;</code><code>//伪装sessionid&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>07</code></td>
  			<td><code>$snoopy</code><code>-&gt;agent =&nbsp;</code><code>&#39;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727&#39;</code><code>;&nbsp;</code><code>//伪装浏览器&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>08</code></td>
  			<td><code>$snoopy</code><code>-&gt;referer =&nbsp;</code><code>&quot;<a href="http://lzw.me/" rel="nofollow">http://lzw.me</a>&quot;</code><code>; //伪装来源页地址 http_referer&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>09</code></td>
  			<td><code>$snoopy</code><code>-&gt;rawheaders[</code><code>&quot;Pragma&quot;</code><code>] =&nbsp;</code><code>&quot;no-cache&quot;</code><code>;&nbsp;</code><code>//cache 的http头信息&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>10</code></td>
  			<td><code>$snoopy</code><code>-&gt;rawheaders[</code><code>&quot;X_FORWARDED_FOR&quot;</code><code>] =&nbsp;</code><code>&quot;127.0.0.101&quot;</code><code>;&nbsp;</code><code>//伪装ip&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>11</code></td>
  			<td><code>$snoopy</code><code>-&gt;submit(</code><code>$action</code><code>,</code><code>$formvars</code><code>);&nbsp;&nbsp;</code></td>
  		</tr>
  	</tbody>
  </table>

  <table>
  	<tbody>
  		<tr>
  			<td><code>12</code></td>
  			<td><code>echo</code>&nbsp;<code>$snoopy</code><code>-&gt;results;</code></td>
  		</tr>
  	</tbody>
  </table>

  <h2>snoopy下载</h2>

  <p>snoopy最新的是2008年更新的1.2.4版本，其开源下载地址如下，如果您下载遇到困难，可与志文工作室联系。</p>

  <p>snoopy.class.php 1.2.4版本下载：<a href="http://sourceforge.net/projects/snoopy/files/latest/download?source=files" rel="nofollow">http://sourceforge.net/projects/snoopy/files/latest/download?source=files</a></p>

  <p>&nbsp;</p>

excerpt:
  Snoopy是什么?Snoopy是一个php类，用来模仿web浏览器的功能，它能完成获取网页内容和发送表单的任务。Snoopy的一些特点:* 方便抓取网页的内容* 方便抓取网页的文本内容 (去除HTML标签)* 方便抓取网页的链接* 支持代理主机* 支持基本的用户名/密码验证* 支持设置 user_agent, referer(来路), cookies 和 header content(头文件)*

meta_description:
  Snoopy是什么?Snoopy是一个php类，用来模仿web浏览器的功能，它能完成获取网页内容和发送表单的任务。Snoopy的一些特点:* 方便抓取网页的内容* 方便抓取网页的文本内容 (去除HTML标签)* 方便抓取网页的链接* 支持代理主机* 支持基本的用户名/密码验证* 支持设置 user_agent, referer(来路), cookies 和 header content(头文件)*


title: 电脑自带Edge浏览器进行PDF文件合并-CSDN博客
slug: 电脑自带edge浏览器进行pdf文件合并-csdn博客
status: published
created_at: 2025-12-30 14:33:28
updated_at: 2025-12-30 14:33:35
published_at: 2025-12-30 14:33:28
content:
  &lt;article&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;Edge 原生没有 “一键合并多个 PDF” 的可视化按钮，可进行Edge 扩展一键合并。具体步骤如下&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤1：打开 Edge→右上角 “…”→扩展→管理扩展→获取 Microsoft Edge 扩展。&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/785c041d1c93432fa834533303aaa68b.png&quot; alt=&quot;图片&quot; / /&gt;&lt;br&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/89e78bb627574c169115b2792bca0be7.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤2：搜索 “Merge PDF” 或 “PDF Merge”&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/9598ece9e6ec45d387cddb0d37360613.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤3：选评分高的插件点击 “获取→添加扩展”。&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/052aca48e12843858685eea731fa208e.png&quot; alt=&quot;图片&quot; / /&gt;&lt;br&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/9a55ee71c149476dac2f7ebcbc099d43.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤4：选择扩展工具&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/76b00ea6d7494c7d90463e487654984f.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤5：选择合并PDF&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/70c0935cbcfb47499395fb1f51bf54de.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤6：上传 PDF→拖拽调整顺序→点击合并→另存为&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/11576788ad8247008b86e5ebf2fffc47.png&quot; alt=&quot;图片&quot; / /&gt;&lt;br&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/c65a054a1c1e4701a6e794c45dc7cbef.png&quot; alt=&quot;图片&quot; / /&gt;&lt;br&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/08970ff05d0d42ea97baef6b76bb8314.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤7：本地查看，已合并完成&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/3f8f2bcf24ce4eb586e8a358b3f9e1d4.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://i-blog.csdnimg.cn/direct/10aa34a3fded4be3b269c1c652921f73.png&quot; alt=&quot;图片&quot; / /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/article&gt;

excerpt:
  &lt;article&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;Edge 原生没有 “一键合并多个 PDF” 的可视化按钮，可进行Edge 扩展一键合并。具体步骤如下&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤1：打开 Edge→右上角 “…”→扩展→管理扩展→获取 Microsoft Edge 扩展。&lt;/h3&gt;&lt;

meta_description:
  &lt;article&gt;&lt;div&gt;&lt;div&gt;&lt;p&gt;Edge 原生没有 “一键合并多个 PDF” 的可视化按钮，可进行Edge 扩展一键合并。具体步骤如下&lt;/p&gt;&lt;h3&gt;&lt;a&gt;&lt;/a&gt;步骤1：打开 Edge→右上角 “…”→扩展→管理扩展→获取 Microsoft Edge 扩展。&lt;/h3&gt;&lt;


title: 【免费pdf加水印】Adobe Acrobat PDF-CSDN博客
slug: 免费pdf加水印adobe-acrobat-pdf-csdn博客
excerpt: 1 右侧查找工具 2 输入水印
status: published
meta_description: 1 右侧查找工具 2 输入水印
created_at: 2025-12-30 14:38:56
updated_at: 2025-12-30 14:38:56
published_at: 2025-12-30 14:38:56
content:
  <article><div><div><p>1 右侧查找工具<br><img src="https://i-blog.csdnimg.cn/direct/c53b97ec58ee47b6b9ba54b16526e0a7.png" alt="图片" / /><br><br> 2 输入水印<br><img src="https://i-blog.csdnimg.cn/direct/89ba16dfb87f4b779dbc379ae34b288c.png" alt="图片" / /></p></div></div></article>


title: 文档扫描如何保存为PDF格式？WinScan2PDF v9.49 绿色版下载 PDF文档扫描转换工具 多页合并免费-CSDN博客
slug: 文档扫描如何保存为pdf格式winscan2pdf-v949-绿色版下载-pdf文档扫描转换工具-多页合并免费-csdn博客
status: published
created_at: 2025-12-30 14:42:47
updated_at: 2025-12-30 14:42:47
published_at: 2025-12-30 14:42:47
content:
  <article><div><div><p>办公室归档、整理纸质合同，家里存证件、孩子的学习资料，需要把纸质文件变成电子PDF？很多人遇到的问题是：要么扫描仪自带软件太复杂，半天找不到保存PDF的选项；要么用第三方工具要付费，还一堆捆绑插件；扫描多页文档更是麻烦，每页都生成一个文件，还要手动合并。今天给大家分享一款宝藏工具——WinScan2PDF v9.49 绿色版，免费又好用，直接把扫描文件转成PDF，多页合并、基本编辑全搞定，小白也能轻松上手！</p><p><img src="https://i-blog.csdnimg.cn/direct/c1d4d6d60d1e41d6811522731adcae8b.png" alt="图片" / /></p><p>这款工具最省心的就是纯绿色免安装！下载后解压到文件夹，双击程序就能直接运行，不用往系统里写注册表，也不会产生任何垃圾文件，拷贝到U盘里，在公司、家里的电脑上都能随时用，移动办公超方便。而且体积小巧，解压后就几MB，完全不占系统空间，老旧电脑运行起来也毫无压力，不会出现卡顿的情况。</p><p>作为一款专注于扫描转PDF的免费工具，它的核心功能精准又实用。最基础的就是直接将扫描文件保存为PDF格式，不用借助Adobe Acrobat这类复杂的第三方软件，打开工具后选择连接的扫描仪，点击扫描就能直接生成PDF，省去了中间转换的繁琐步骤。不管是单页的证件、发票，还是多页的合同、报告，都能轻松处理。</p><p>多页连续扫描合并功能必须重点夸！很多类似工具扫描多页文档时，每页都会生成一个单独的PDF，后续还要用其他软件手动合并，特别费时间。WinScan2PDF v9.49支持多页连续扫描，扫描完成后会自动将所有页面合并成一个PDF文件，还能智能识别页面顺序，哪怕扫描时不小心颠倒了页面，也能自动调整排序，整理多页文档的效率直接翻倍。之前整理几十页的项目报告，用它一次性扫描合并，几分钟就搞定了，比之前手动处理快了太多。</p><p>它还自带实用的基本编辑功能，完美解决扫描后的小问题。扫描出来的页面歪了？可以直接在工具里旋转调整；纸张有点暗、文字不清晰？能手动调整亮度和对比度，让电子文档更清晰；还能自由选择扫描的页面范围，比如多扫描了空白页，直接选中删除即可，不用再用其他编辑软件二次处理。扫描前还能预览扫描效果，确保内容清晰、没有遗漏，避免扫描后发现问题还要重新扫。</p><p>操作界面也特别简洁直观，所有功能按钮都清清楚楚，没有多余的复杂选项。新用户打开后不用看说明书，跟着界面提示就能完成操作：选择扫描仪、设置扫描参数、开始扫描、保存PDF，几步就能搞定。而且它兼容市面上大多数主流扫描仪和多功能打印机，不用担心硬件不兼容的问题，连接后就能直接使用。</p><p>除此之外，它还有很多贴心的小细节。比如可以自定义PDF文件的保存路径和文件名，方便后续查找和管理；支持设置扫描分辨率，用于屏幕阅读选72-150dpi就足够，需要打印的文档选300dpi，兼顾清晰度和文件大小；还能创建扫描模板，把常用的扫描参数（比如页面大小、颜色模式）保存下来，下次使用直接选择模板，不用重复设置，进一步提升效率。</p><p>不管你是办公室职员需要批量处理纸质文件归档，还是宝妈整理孩子的学习资料电子化，又或者是个人需要保存证件、发票等重要文档，这款WinScan2PDF v9.49绿色版都能满足你的需求。免费、绿色、无捆绑，功能实用操作简单，真正解决了纸质文档电子化的痛点。</p><p>温馨提示： 使用前请确保扫描仪已正确连接并安装好驱动程序，这样才能保证工具正常识别；扫描多页文档时，建议将文档整理平整，避免折痕影响扫描效果。</p><p><strong>WinScan2PDF v9.49 绿色版 下载地址： <a href="https://pan.quark.cn/s/6de8b2119c46" title="https://pan.quark.cn/s/6de8b2119c46" rel="nofollow">https://pan.quark.cn/s/6de8b2119c46</a></strong></p></div></div></article>

excerpt:
  办公室归档、整理纸质合同，家里存证件、孩子的学习资料，需要把纸质文件变成电子PDF？很多人遇到的问题是：要么扫描仪自带软件太复杂，半天找不到保存PDF的选项；要么用第三方工具要付费，还一堆捆绑插件；扫描多页文档更是麻烦，每页都生成一个文件，还要手动合并。今天给大家分享一款宝藏工具——WinScan2PDF v9.49 绿色版，免费又好用，直接把扫描文件转成PDF，多页合并、基本编辑全搞定，小白也能

meta_description:
  办公室归档、整理纸质合同，家里存证件、孩子的学习资料，需要把纸质文件变成电子PDF？很多人遇到的问题是：要么扫描仪自带软件太复杂，半天找不到保存PDF的选项；要么用第三方工具要付费，还一堆捆绑插件；扫描多页文档更是麻烦，每页都生成一个文件，还要手动合并。今天给大家分享一款宝藏工具——WinScan2PDF v9.49 绿色版，免费又好用，直接把扫描文件转成PDF，多页合并、基本编辑全搞定，小白也能


title: 文章标题文章标题文章标题111
slug: 1
excerpt: 摘要文章标题文章摘要，用于列表页显示文章标题
status: published
created_at: 2025-12-31 08:02:44
updated_at: 2025-12-31 18:31:19
published_at: 2025-12-31 08:02:44
content:
  <p>文章内容 *文章摘要，用于列表页显示 文章内容 * <img alt="上传图片" src="http://boke.dgbest.cn/assets/uploads/2025/12/20251231080238_6954681ea9396.png" /></p>


title: Windsurf国内使用指南(超详细)
slug: windsurf国内使用指南超详细
status: published
created_at: 2025-12-31 22:11:38
updated_at: 2026-01-01 07:52:22
published_at: 2025-12-31 22:11:38
content:
  <p>相较于Cursor，Windsurf被称为是一款 <strong>&ldquo;更适合AI编程新手&rdquo;</strong> 的AI编程工具，同样有着十分强大的功能。</p>

  <p>今天我们就来看看新手要如何去使用，以及它的Cascade功能的有何强大之处：<br />
  <strong>1.什么是Windsurf？</strong><br />
  <strong>2.安装与汉化。</strong><br />
  <strong>3.如何使用（新手必看）。</strong><br />
  <strong>4.充值订阅与免费使用的技巧。</strong></p>

  <hr />
  <h2><strong>一、什么是Windsurf？</strong></h2>

  <p>Windsurf是基于VS Code开发的一个分支，操作方式与VS Code基本一致。如果你之前有用过VScode，那就很容易上手。</p>

  <p>其核心功能的Cascade，可以完成自动写代码、找bug、甚至自动发布等AI辅助功能。</p>

  <p>而作为Cursor的强力竞争对手，Windsurf在上周还进行了一次重大更新：</p>

  <ul>
  	<li><strong>预览功能</strong>：开发者可以通过选择预览中的元素，将其发送回Cascade以进行针对性改进，从而加快构建速度。</li>
  	<li><strong>Tab-to-import</strong>：只需按 Tab 键即可自动添加必要的导入，简化编码流程。</li>
  	<li><strong>Linter集成</strong>：Cascade 现在可以自动修复生成的代码中的 Lint 错误，确保代码清洁无误。</li>
  	<li><strong>MCP可发现性改进</strong>：模型上下文协议 (MCP) 的可见性和易用性得到增强。</li>
  	<li><strong>拖放文件</strong>：用户可以直接从资源管</li>
  </ul>


title: 添加新文章
slug: 添加新文章
status: published
featured_image: /uploads/6955e32375f28.png
created_at: 2026-01-01 10:59:47
updated_at: 2026-01-01 10:59:47
published_at: 2026-01-01 10:59:47
content:
  <p><img alt="123" src="{&quot;uploaded&quot;:true,&quot;url&quot;:&quot;\/uploads\/6955e2dc643f9.jpg&quot;}" />添加新文章添加新文章添加新文章添加新文章</p>


title: 文章标题3
slug: 文章标题3-1
status: published
featured_image: /uploads/6955e624ae136.png
created_at: 2026-01-01 11:12:36
updated_at: 2026-01-01 11:12:36
published_at: 2026-01-01 11:12:36
content:
  <p>文章标题3v文章标题3文章标题3</p>

  <table align="center" border="1" cellpadding="1" cellspacing="1" style="width:500px" summary="4444">
  	<caption>3333</caption>
  	<tbody>
  		<tr>
  			<td>wrwr</td>
  			<td>wrwer</td>
  		</tr>
  		<tr>
  			<td>wrr</td>
  			<td>wr</td>
  		</tr>
  		<tr>
  			<td>wer</td>
  			<td>err</td>
  		</tr>
  	</tbody>
  </table>

  <p>&nbsp;</p>

  <p><img alt="123" src="{&quot;uploaded&quot;:true,&quot;url&quot;:&quot;\/uploads\/6955e5f5a061c.png&quot;}" /></p>

  <p>&nbsp;</p>


title: 添加新文章6
slug: 添加新文章6
status: published
featured_image: /uploads/6958a3baaaa21.png
created_at: 2026-01-01 20:56:39
updated_at: 2026-01-03 19:47:15
published_at: 2026-01-03 16:43:06
content:
  <p>文章内容</p><p>546456645655</p><p>http://boke/admin/admin-new-post.php</p><p><strong>📝 使用提示：</strong><br>• <strong>图片上传：</strong> 点击工具栏的图片图标，可以上传图片或粘贴图片<br>• <strong>Word 导入：</strong> 在 Word 中复制内容（Ctrl+A 全选，Ctrl+C 复制），然后在编辑器中粘贴（Ctrl+V），编辑器会自动处理 Word 格式和样式</p>


title: 文章标题
slug: 文章标题
status: published
featured_image: /uploads/69590e2503e1a.png
created_at: 2026-01-03 20:40:05
updated_at: 2026-01-03 20:40:49
published_at: 2026-01-03 20:40:49
content:
  <h1>添加新文章</h1><p><a href="http://boke/admin/admin-posts.php">&nbsp;返回文章列表</a></p><p>文章标题</p><p>&nbsp;</p><p>&nbsp;</p>


# settings

setting_key: site_description
setting_type: text
created_at: 2025-12-29 00:07:57
updated_at: 2026-01-03 21:15:25
setting_value:
                                                                                                                                                                                                                                  分享技术与生活感悟                                                                                                                                                                                                     


