Delphi Can

Orjinalini görmek için tıklayınız: Android Pdf Dosya Oluşturma
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhaba android de bulunan projemde pdf dosyası oluşturmaya çalışıyorum bir örnek buldum ama onda hatalar alıyorum bu konu ile deneyimi olan arkadaslardan yardım bekliyorum 

bulduğum kod 
unit GeradorPDF;

interface

uses
 System.SysUtils, System.Types, System.UITypes, System.Classes,
 System.Variants,
 FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
 FMX.Controls.Presentation,
 FMX.StdCtrls, FMX.Objects;

type
 TForm1 = class(TForm)
   Image1: TImage;
   btGerarPDF: TButton;
   procedure btGerarPDFClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

uses Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes,
 Androidapi.JNI.Net, Androidapi.Helpers, System.IOUtils, FMX.Helpers.android,
 FMX.surfaces;

{$R *.fmx}

function FileNameToUri(const FileName: string): Jnet_Uri;
var
 JavaFile: JFile;
begin
 JavaFile := TJFile.JavaClass.init(StringToJString(FileName));
 Result := TJnet_Uri.JavaClass.fromFile(JavaFile);
end;

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;
 NativeBitmap: JBitmap;
 sBitMap: TBitmapSurface;
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);
   Canvas.drawText(StringToJString('Página 1'), 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;



Aldığım hata exposed beyond app through intent.GetData()
Merhaba

https://stackoverflow.com/questions/5453...ugh-intent
https://en.delphipraxis.net/topic/1361-a...-tjintent/

bunlar işini görebilir bak istersen

Free pdf kütüphanesi yokmu.
multi device için.
fastreport vardı oda androide destek vermiyor. IOS ve windows var
olması iyi olurdu
Bu konu çözüldümü ne durumda
(27-10-2020, Saat: 11:12)ilhanim Adlı Kullanıcıdan Alıntı: [ -> ]Bu konu çözüldümü ne durumda

yok hocam çözülmedi ama çözüm bulamayınca erteledim biraz yoğunluk dolayı çözersem konunun altına yazarım teşekkürler ilgin için