{"id":7894,"date":"2026-02-24T15:06:21","date_gmt":"2026-02-24T07:06:21","guid":{"rendered":"https:\/\/support.fuxinsoft.cn\/?p=7894"},"modified":"2026-03-19T16:25:19","modified_gmt":"2026-03-19T08:25:19","slug":"%e5%a6%82%e4%bd%95%e5%9c%a8pdf%e4%b8%8a%e7%bb%98%e5%88%b6%e5%9c%86%e8%a7%92%e7%9f%a9%e5%bd%a2%ef%bc%88%e8%b4%9d%e8%b5%9b%e5%b0%94%e6%9b%b2%e7%ba%bf%ef%bc%89","status":"publish","type":"post","link":"https:\/\/support.fuxinsoft.cn\/?p=7894","title":{"rendered":"\u5982\u4f55\u5728PDF\u4e0a\u7ed8\u5236\u5706\u89d2\u77e9\u5f62\uff08\u8d1d\u8d5b\u5c14\u66f2\u7ebf\uff09"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7894\" class=\"elementor elementor-7894\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41b9caea e-flex e-con-boxed e-con e-parent\" data-id=\"41b9caea\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4a802f33 elementor-widget elementor-widget-text-editor\" data-id=\"4a802f33\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>\u5728PDF\u6587\u6863\u7f16\u8f91\u573a\u666f\u4e2d\uff0c\u5706\u89d2\u77e9\u5f62\u662f\u5e38\u7528\u7684\u56fe\u5f62\u5143\u7d20\uff0c\u800c\u8d1d\u8d5b\u5c14\u66f2\u7ebf\u51ed\u501f\u5176\u7075\u6d3b\u7684\u66f2\u7ebf\u63a7\u5236\u80fd\u529b\uff0c\u662f\u7ed8\u5236\u5706\u89d2\u77e9\u5f62\u7684\u6838\u5fc3\u5b9e\u73b0\u65b9\u5f0f\u3002\u672c\u6587\u5c06\u4ee5\u5229\u7528\u8d1d\u8d5b\u5c14\u66f2\u7ebf\u7ed8\u5236PDF\u5706\u89d2\u77e9\u5f62\u4e3a\u6838\u5fc3\uff0c\u660e\u786e\u5b9e\u73b0\u601d\u8def\uff0c\u5e76\u63d0\u4f9b\u793a\u4f8b\u4ee3\u7801\uff0c\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u638c\u63e1\u76f8\u5173\u64cd\u4f5c\u65b9\u6cd5\uff0c\u9002\u914d\u5404\u7c7bPDF\u56fe\u5f62\u7f16\u8f91\u9700\u6c42\u3002<\/p>\n\n\n\n<p>\u793a\u4f8b\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> page= doc.insertPage(doc.getPageCount(), PDFPage.e_SizeA4);\n\n        page.startParse(0,null,true);\n        float page_width = page.getWidth();\n        float page_height = page.getHeight();\n\n        float start_x = 30;\n        float start_y =page_height- 60;\n        \/\/\u5706\u89d2\u534a\u5f84\n        float r=18;\n        \/\/\u5de6\u4e0a\u89d2\u4e3a30,60 \u9ad8\u5ea6\u4e3a70\u7684\u77e9\u5f62\n        \/\/\u4f9d\u6b21\u4e3a\u987a\u65f6\u9488\uff1a\u5de6\u4e0a\uff0c\u53f3\u4e0a\uff0c\u53f3\u4e0b\uff0c\u5de6\u4e0b\u56db\u4e2a\u70b9\n        PointF p1=new PointF(start_x,start_y-30);\n        PointF p2=new PointF(page_width- start_x,start_y-30);\n        PointF p3=new PointF(page_width- start_x,start_y-100);\n        PointF p4=new PointF(start_x,start_y-100);\n\n        AddRoundedRectangle(page,r,p1,p2,p3,p4);\n\n\/\/\u7ed8\u5236\u5706\u89d2\u77e9\u5f62\u7684\u5b9e\u73b0\npublic  static  void AddRoundedRectangle(PDFPage page,float r, PointF p1,PointF p2,PointF p3,PointF p4) throws PDFException {\n    long position = page.getLastGraphicsObjectPosition(e_TypePath);\n    PathObject path_object = PathObject.create();\n    Path path = new Path();\n    \/\/\u7ed8\u5236\u8d1d\u585e\u5c14\u66f2\u7ebf\n    path.moveTo(new PointF( p1.getX() + r, p1.getY()));\n\n\/\/ \u4e0a\u8fb9\u7ebf\uff1a\u4ece\u5de6\u4e0a\u89d2\u53f3\u4fa7\u5230\u53f3\u4e0a\u89d2\u5de6\u4fa7\n    path.lineTo(new PointF( p2.getX() - r, p2.getY()));\n\n\/\/ \u4f7f\u7528\u4e09\u6b21\u8d1d\u585e\u5c14\u66f2\u7ebf\u7ed8\u52361\/4\u5706\u5f62\n\/\/ \u63a7\u5236\u70b91\uff1a\u53f3\u4e0a\u89d2\u9876\u70b9\uff08\u6c34\u5e73\u65b9\u5411\u63a7\u5236\u70b9\uff09\n\/\/ \u63a7\u5236\u70b92\uff1a\u53f3\u4e0a\u89d2\u4e0b\u65b9r\u8ddd\u79bb\u5904\uff08\u5782\u76f4\u65b9\u5411\u63a7\u5236\u70b9\uff09\n\/\/ \u7ec8\u70b9\uff1a\u53f3\u4e0a\u89d2\u53f3\u4e0b\u65b9r\u8ddd\u79bb\u5904\uff081\/4\u5706\u7684\u7ed3\u675f\u70b9\uff09\n    path.cubicBezierTo (\n            new PointF( p2.getX()-r\/2, p2.getY()), \/\/ \u7b2c\u4e00\u4e2a\u63a7\u5236\u70b9\n            new PointF( p2.getX(), p2.getY() - r\/2),   \/\/ \u7b2c\u4e8c\u4e2a\u63a7\u5236\u70b9\n            new PointF(  p2.getX() , p2.getY() - r));\/\/\u7ec8\u70b9\n\n\/\/ \u53f3\u8fb9\u7ebf\uff1a\u4ece\u53f3\u4e0a\u89d2\u5706\u89d2\u7ec8\u70b9\u5230\u53f3\u4e0b\u89d2\u4e0a\u65b9\n    path.lineTo( new PointF(  p3.getX(), p3.getY() + r));\n\n\/\/ \u53f3\u4e0b\u89d2\u5706\u89d2\n    path.cubicBezierTo ( new PointF(  p3.getX(), p3.getY()+r\/2),\n            new PointF( p3.getX() - r\/2, p3.getY()),\n            new PointF( p3.getX() - r, p3.getY() ));\n\n\/\/ \u4e0b\u8fb9\u7ebf\uff1a\u4ece\u53f3\u4e0b\u89d2\u5706\u89d2\u7ec8\u70b9\u5230\u5de6\u4e0b\u89d2\u53f3\u4fa7\n    path. lineTo( new PointF(  p4.getX() + r, p4.getY()));\n\n\/\/ \u5de6\u4e0b\u89d2\u5706\u89d2\n    path. cubicBezierTo ( new PointF( p4.getX()+r\/2, p4.getY()),\n            new PointF(    p4.getX(), p4.getY() + r\/2),\n            new PointF( p4.getX() , p4.getY() + r));\n\n\/\/ \u5de6\u8fb9\u7ebf\uff1a\u4ece\u5de6\u4e0b\u89d2\u5706\u89d2\u7ec8\u70b9\u5230\u5de6\u4e0a\u89d2\u4e0b\u65b9\n    path. lineTo( new PointF(  p1.getX(), p1.getY() - r));\n\n    path. cubicBezierTo ( new PointF( p1.getX(), p1.getY()-r\/2),\n            new PointF(    p1.getX()+r\/2, p1.getY() ),\n            new PointF( p1.getX()+r , p1.getY() ));\n\n    path_object.setPathData(path);\n    path_object.setFillColor(0xFF000000);\n    path_object.setFillMode(e_FillModeAlternate);\n    path_object.setStrokeState(true);\n    path_object.setStrokeColor(0xFF000000);\n    path_object.setFillMode(0);\n    page.insertGraphicsObject(position, path_object);\n    page.generateContent();\n}\n\n\u7ed8\u5236\u7ed3\u679c\u5982\u4e0b\uff1a<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"437\" height=\"92\" src=\"https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2026\/02\/QQ_1771916723738.png\" alt=\"\" class=\"wp-image-7895\" srcset=\"https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2026\/02\/QQ_1771916723738.png 437w, https:\/\/support.fuxinsoft.cn\/wp-content\/uploads\/2026\/02\/QQ_1771916723738-300x63.png 300w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/><\/figure>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7100eae e-flex e-con-boxed e-con e-parent\" data-id=\"7100eae\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3108ab9 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"3108ab9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/developers.fuxinsoft.cn\/free-trial\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u514d\u8d39\u83b7\u53d6SDK\u8bd5\u7528<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u5728PDF\u6587\u6863\u7f16\u8f91\u573a\u666f\u4e2d\uff0c\u5706\u89d2\u77e9\u5f62\u662f\u5e38\u7528\u7684\u56fe\u5f62\u5143\u7d20\uff0c\u800c\u8d1d\u8d5b\u5c14\u66f2\u7ebf\u51ed\u501f\u5176\u7075\u6d3b\u7684\u66f2\u7ebf\u63a7\u5236\u80fd\u529b\uff0c\u662f\u7ed8\u5236\u5706\u89d2\u77e9\u5f62\u7684\u6838\u5fc3\u5b9e [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77],"tags":[1310,1311,1312],"class_list":["post-7894","post","type-post","status-publish","format-standard","hentry","category-gsdk","tag-1310","tag-1311","tag-1312"],"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\/7894","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=7894"}],"version-history":[{"count":10,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/7894\/revisions"}],"predecessor-version":[{"id":8129,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=\/wp\/v2\/posts\/7894\/revisions\/8129"}],"wp:attachment":[{"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7894"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7894"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.fuxinsoft.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7894"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}