Как изменить шрифт JPaint с помощью firemonkey?

Мне нужно распечатать файл PDF, используя firemonkey с JPdfDocument;

Я написал код под его работой, но шрифт не меняю: Вот ссылка на документацию

procedure TForm1.btGerarPDFClick(Sender: TObject);
var
   Document: JPdfDocument;
   PageInfo: JPdfDocument_PageInfo;
   Page: JPdfDocument_Page;
   Canvas: JCanvas;
   Paint: JPaint;
   Recto: JRect;
   Rect: JRect;
   FileName: string;
   OutputStream: JFileOutputStream;
   Intent: JIntent;

   begin
       // create Pdf document
       Document := TJPdfDocument.JavaClass.init;
       try
            // create page  1
            PageInfo := TJPageInfo_Builder.JavaClass.init(100, 100, 1).create;
            Page := Document.startPage(PageInfo);

            Canvas := Page.getCanvas;
            Paint := TJPaint.JavaClass.init;

            Paint.setARGB($FF, 0, 0, $FF);

           // I need to change the font to: Courier New, Size 9

           Canvas.drawText(StringToJString('Courier New 9'), 10, 50, Paint);

          // I need to change the font to: Courier New, Size 14

          Canvas.drawText(StringToJString('Courier 14'), 10, 50, Paint);

         Document.finishPage(Page);

        // write PDF document to file
        FileName := TPath.Combine(TPath.GetSharedDocumentsPath, 'demo.pdf');
          OutputStream := TJFileOutputStream.JavaClass.init
         (StringToJString(FileName));
           try
             Document.writeTo(OutputStream);
           finally
             OutputStream.close;
        end;
   finally
      Document.close;
   end;

   // start PDF viewer
      Intent := TJIntent.JavaClass.init;
      Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      Intent.setDataAndType(FileNameToUri(FileName),
      StringToJString('application/pdf'));
      Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NO_HISTORY or
      TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP);
      SharedActivity.StartActivity(Intent);
   end;
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
219
1

Ответы 1

Paint.setARGB($FF, 0, 0, 0); // color
paint.setFakeBoldText(true);// font bol
Paint.setTextSize(16); // font size
Paint.setFontFeatureSettings(StringToJString('Segoe Script')); //font name

Здравствуйте и добро пожаловать на сайт. Хотя этот фрагмент кода может быть решением, включая объяснение действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для читателей в будущем, и эти люди могут не знать причины вашего предложения кода.

Haem 21.02.2019 08:55

Другие вопросы по теме