إذا كانت لديك مهمة لعمل بضعة تقارير بسيطة ، ويستخدم المستخدمون لديك Open Office ، فلن تحتاج إلى استخدام أنظمة إعداد تقارير كبيرة مثل Bird أو Jasper أو نظائرها.تعتبر مجموعة أدوات ODF رائعة لهذه المهمة.مجموعة أدوات ODF ، وفقًا لمعلومات من الموقع الرسمي ، عبارة عن مجموعة من وحدات Java التي تسمح لك بإنشاء مستندات أو مسحها ضوئيًا أو معالجتها بتنسيق مستند مفتوح (ISO / IEC 26300 == ODF). على عكس الطرق الأخرى ، التي تعتمد على التلاعب بوقت التشغيل مع المحررين الثقيل عبر واجهة الأتمتة ، فإن مجموعة أدوات ODF خفيفة الوزن ومثالية لاستخدام الخادم.أنا أعمل على مشروع لأتمتة عمليات الأعمال الداخلية وغالبًا ما يطلب المستخدمون تقارير حول المعلومات التراكمية ، وبسبب حقيقة أن Open Office شائع جدًا في البنك الزراعي ، فإن Bird يستخدم لبناء التقارير.يسمح لك بإنشاء أي تنسيق مستند. من حيث المبدأ ، حل رائع وبسيط ومفهوم ، ولكن أصبح من المثير للاهتمام ما إذا كان من الممكن تنفيذ نفس الشيء داخل Java.لذا قابلت مجموعة أدوات ODF. سأصفعددًا من الطرق الأساسية ، يمكنك معرفة المزيد على صفحة مشروع odftoolkit.org .لذا ، فلنبدأ بإنشاء مستند:TextDocument doc = TextDocument.newTextDocument();
بعد ذلك ، دعنا ننتقل إلى إنشاء فقرة ، وإذا كانت Apache Poi (مكتبة مماثلة ، ولكن فقط لتنسيق الكلمات) ، فهي بضعة أسطر ، وهنا كل شيء موجز تمامًا:Paragraph subparagraphHeaderOne = doc.addParagraph(“”);
وإذا أردنا تعيين النص في الخطوة التالية ، فيمكننا استخدام بنية مماثلة:Paragraph subparagrafFilial = paragraphHeader.addParagraph(null);
مثال على إنشاء فقرة من Apache poi:XWPFParagraph paragraphHeader = xwpfDocument.createParagraph();
XWPFRun subpargraphHeader = paragraphHeader.createRun();
subpargraphHeader.setText(“”);
subpargraphHeader.addBreak();
أنا شخصياً أسرت من هذا الإيجاز ، لكنني أستمر.إنشاء أنماط لفقرة:OdfOfficeStyles styles = doc.getOrCreateDocumentStyles ();
OdfStyle style = styles.newStyle ( "Source Text", OdfStyleFamily.Paragraph );
style.setProperty ( OdfParagraphProperties.VerticalAlign, "#middle");
paragraph.getOdfElement().setStyleName("Source Text");
ولكن هناك مشكلة صغيرة ، وفقًا للوثائق الرسمية ، يحدث تعيين النمط على النحو التالي:paragraph.setStyleName("Source Text")
لكن لسوء الحظ ، فإنه لا يعمل بهذه الطريقة ، والتي تكلف كمية معينة من الخلايا العصبية والوقت لإيجاد حل.إنشاء جدول:Table TableOne = doc.addTable( , );
من الممكن العمل مع الخلايا عن طريق إنشاء فقرة جديدة ، ومع الخلية نفسها مباشرةً عنطريق إنشاء فقرة جديدة:Paragraph cellOne = Paragraph.newParagraph(subparagraphTableOne.getCellByPosition(0, 1));
cellOne.appendTextContent("");
مباشرة مع خلية:Cell cellOne = subparagraphTableOne.getCellByPosition(0, 0);
cellOne.setStringValue("")
العمل بنمط جدول وحدوده:إنشاء حد:Border border= new Border(Color.WHITE, 2, StyleTypeDefinitions.SupportedLinearMeasure.PT);
المتغير الأول هو اختيار الحد الذي سيتم تطبيق النمط عليه:table.getRowByIndex(0).getCellByIndex(1).setBorders(StyleTypeDefinitions.CellBordersType.BOTTOM, border);
تعيين نمط الخط:Font font = new Font("Times New Roman", StyleTypeDefinitions.FontStyle.REGULAR, 12);
أريد أن أختتم هذه المراجعة القصيرة ، إذا كان المشروع يهمك ، فإن موقع مشروع odftoolkit.org يحتوي على دليل أكثر تقدمًا للعمل مع واجهة برمجة التطبيقات هذه.آمل أن تساعد هذه المقالة شخصًا ما على الذهاب بطريقة أبسط.