{"id":4710,"date":"2025-03-12T17:58:46","date_gmt":"2025-03-12T09:58:46","guid":{"rendered":"https:\/\/support.foxitsoftware.cn\/?p=4710"},"modified":"2025-03-21T14:58:27","modified_gmt":"2025-03-21T06:58:27","slug":"%e5%a6%82%e4%bd%95%e8%8e%b7%e5%8f%96page%e6%98%be%e7%a4%ba%e5%86%85%e5%ae%b9%e6%89%80%e5%8d%a0%e7%9a%84%e5%8c%ba%e5%9f%9frectf","status":"publish","type":"post","link":"https:\/\/support.fuxinsoft.cn\/?p=4710","title":{"rendered":"\u5982\u4f55\u7cbe\u786e\u83b7\u53d6PDF\u9875\u9762\u5185\u5bb9\u663e\u793a\u533a\u57df\u7684RectF\uff1f"},"content":{"rendered":"\n<p>\u5728PDF\u6587\u6863\u5904\u7406\u4e2d\uff0c\u6709\u65f6\u9700\u8981\u5b9a\u4f4d\u9875\u9762\u4e3b\u4f53\u5185\u5bb9\u6240\u5728\u7684\u533a\u57df\uff0c\u4f8b\u5982\u4f30\u7b97\u9875\u8fb9\u8ddd\u6216\u5224\u65ad\u9875\u9762\u4e3b\u4f53\u5185\u5bb9\u7684\u5bbd\u9ad8\u7b49\u3002\u53ef\u4ee5\u901a\u8fc7PDFPage.CalcContentBBox()\u63a5\u53e3\u6765\u83b7\u53d6\u9875\u9762\u5185\u5bb9\u533a\u57df\u6240\u5360\u7684RectF\u3002<\/p>\n\n\n\n<p><strong>\u7279\u6b8a\u60c5\u51b5\u5904\u7406<\/strong>\uff1a\u5982\u679c\u901a\u8fc7PDFPage.CalcContentBBox()\u63a5\u53e3\u83b7\u53d6\u7684<code>RectF<\/code>\u4e0e\u9884\u671f\u4e0d\u4e00\u81f4\uff0c\u53ef\u80fd\u662f\u7531\u4e8e\u9875\u9762\u4e2d\u5b58\u5728\u900f\u660e\u7684\u7ebf\u6761\u6216\u6587\u672c\uff0c\u5bfc\u81f4\u8ba1\u7b97\u7684\u5185\u5bb9\u533a\u57df\u4e0e\u4eba\u773c\u6240\u89c1\u533a\u57df\u4e0d\u4e00\u81f4\u3002\u4f8b\u5982\u4e0b\u9762\u5de6\u4fa7\u8fd9\u4e2a\u9875\u9762\uff0c\u4eba\u773c\u770b\u89c1\u7684\u53ef\u80fd\u53ea\u6709\u4e0b\u65b9\u7684\u9875\u811a\u3002\u53f3\u4fa7\u662f\u7528\u798f\u6615\u9ad8\u7ea7PDF\u7f16\u8f91\u5668\uff1a\u7f16\u8f91->\u7f16\u8f91\u5bf9\u8c61->\u5168\u90e8\uff0c\u6309ctrl+a\u5168\u9009\u3002\u53ef\u4ee5\u770b\u89c1\u9875\u9762\u4e2d\u6709\u6709\u767d\u8272\u6216\u900f\u660e\u7684\u7ebf\u6bb5\u6784\u6210\u4e86\u4e00\u4e2a\u5927\u7684\u8868\u683c\u3002\u8fd9\u4e9b\u5143\u7d20\u53ef\u80fd\u4f1a\u5f71\u54cd\u5185\u5bb9\u533a\u57df\u7684\u8ba1\u7b97\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"991\" height=\"730\" src=\"https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-14.png\" alt=\"\" class=\"wp-image-4712\" srcset=\"https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-14.png 991w, https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-14-300x221.png 300w, https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-14-768x566.png 768w\" sizes=\"(max-width: 991px) 100vw, 991px\" \/><\/figure>\n\n\n\n<p><strong>\u89e3\u51b3\u65b9\u6848<\/strong>\uff1a\u4e3a\u4e86\u83b7\u53d6\u4eba\u773c\u6240\u80fd\u770b\u89c1\u7684\u9875\u9762\u5185\u5bb9\u533a\u57df\u5927\u5c0f\uff0c\u53ef\u4ee5\u5148\u5c06PDF\u9875\u9762\u8fdb\u884c\u5149\u6805\u5316\uff0c\u8f6c\u4e3a<code>Bitmap<\/code>\u540e\uff0c\u901a\u8fc7<code>Bitmap<\/code>\u7684\u4f30\u7b97\u5185\u5bb9\u533a\u57df\u8fdb\u884c\u5904\u7406\u3002<\/p>\n\n\n\n<p>\u5982\u4e0bC#\u4ee3\u7801\u5c55\u793a\u4e86\u5982\u4f55\u83b7\u53d6\u4eba\u773c\u6240\u89c1\u7684\u5185\u5bb9\u533a\u57df\uff0c\u5e76\u7528\u7ea2\u8272\u6ce8\u91ca\u6807\u51fa\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PDFDoc doc = new PDFDoc(@\"D:\\test.pdf\");\n                ErrorCode errorCode= doc.Load(null);\n                for (int i = 0; i &lt; doc.GetPageCount(); i++)\n                {\n                    using (PDFPage page = doc.GetPage(i))\n                    {\n                        page.StartParse(0, null, true);\n                        int width = (int)(page.GetWidth());\n                        int height = (int)(page.GetHeight());\n                        Matrix2D matrix = page.GetDisplayMatrix(0, 0, width, height, page.GetRotation());\n                        using (foxit.common.Bitmap bitmap = new foxit.common.Bitmap(width, height, foxit.common.Bitmap.DIBFormat.e_DIBArgb, System.IntPtr.Zero, 0))\n                        {\n                            bitmap.FillRect(0xFFFFFFFF, null);\n                            using (Renderer render = new Renderer(bitmap, false))\n                            {\n                                \/\/\u5149\u6805\u5316\n                                render.StartRender(page, matrix, null);\n                                RectI rectI = bitmap.CalculateBBoxByColor(0xffffffff);\n                                \/\/\u4f30\u7b97\u5185\u5bb9\u533a\u57df\n                                RectF rect=new RectF(rectI.left, page.GetHeight() - rectI.bottom, rectI.right, page.GetHeight() - rectI.top);\n                                Annot annot= page.AddAnnot(foxit.pdf.annots.Annot.Type.e_Square,rect );\n                                annot.ResetAppearanceStream();\n                            }\n                        }\n                    }\n                }\n                doc.SaveAs(@\"D:\\addAnnot.pdf\", 0);<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-15-1024x567.png\" alt=\"\" class=\"wp-image-4713\" style=\"width:657px;height:auto\" srcset=\"https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-15-1024x567.png 1024w, https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-15-300x166.png 300w, https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-15-768x426.png 768w, https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2025\/03\/image-15.png 1135w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u5728PDF\u6587\u6863\u5904\u7406\u4e2d\uff0c\u6709\u65f6\u9700\u8981\u5b9a\u4f4d\u9875\u9762\u4e3b\u4f53\u5185\u5bb9\u6240\u5728\u7684\u533a\u57df\uff0c\u4f8b\u5982\u4f30\u7b97\u9875\u8fb9\u8ddd\u6216\u5224\u65ad\u9875\u9762\u4e3b\u4f53\u5185\u5bb9\u7684\u5bbd\u9ad8\u7b49\u3002\u53ef\u4ee5\u901a\u8fc7PD [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77],"tags":[425,420,424,316,421,423,422,315],"class_list":["post-4710","post","type-post","status-publish","format-standard","hentry","category-gsdk","tag-bitmap","tag-rectf","tag-424","tag-316","tag-421","tag-423","tag-422","tag-315"],"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","_links":{"self":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/4710","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4710"}],"version-history":[{"count":3,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/4710\/revisions"}],"predecessor-version":[{"id":4910,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/4710\/revisions\/4910"}],"wp:attachment":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4710"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4710"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4710"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}