اذهب إلى المحتوى
  • 0

الرسم ضمن ملف PDF باستخدام الجافا

Kareem Hamd

السؤال

هل يمكن الرسم علي pdf بدل الjpanel

 public void DrawLine(int x1,int y1,int x2,int y2,double scl,Color color){
     // double scl = 0.2;
    float border=1;
  // Color color=Color.BLACK;
   JPanel pnl=new JPanel(){
   @Override
   
   public void paintComponent(Graphics g){
       Graphics2D g2=(Graphics2D) g;
       g2.setStroke(new BasicStroke( border));
       g2.setColor(color);
       g2.scale(scl,scl);
       g2.drawLine(x1, y1, x2, y2);
       
       
   }
   };
           form.add(pnl);
           pnl.setBounds(0, 0, form.getWidth(),form.getHeight());
  }

 

تم التعديل في بواسطة Hassan Hedr
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 2

في الدالة لديك تقوم برسم خط مستقيم،

باستخدام مكتبة PDFBox يمكن عمله كالتالي:

// الخط
PDFont font = PDType1Font.HELVETICA;
float fontSize = 14;
float fontHeight = fontSize;

// تعريف المستند
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);

// تعريف سياق الكتابة على الملف
PDPageContentStream contentStream = new PDPageContentStream(doc, page);
contentStream.setFont(font, fontSize);

// قيم إحداثيات الخط المستقيم
float startY = page.getCropBox().getUpperRightY() - 30;
float endY = page.getCropBox().getUpperRightY() + 30;

float startX = page.getCropBox().getLowerLeftX() + 30;
float endX = page.getCropBox().getUpperRightX() - 30;

// رسم الخط
contentStream.moveTo(startX, yCordinate);
contentStream.lineTo(endX, yCordinate);
contentStream.stroke();

// إغلاق القناة و حفظ الملف
contentStream.close();
doc.save("Line.pdf");

ويمكن استخدام دوال لرسم مستطيل و غيره من الأشكال، لايتوفر التوثيق الرسمي للمكتبة على العديد من الشروحات للأسف

حاول استخدام المكتبة pdfbox-graphics2d حيث تساعد على عمل رسومات ثنائية البعد بالاعتماد على pdfBox

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...