Bu blog, Aspose.PDF for Java Cloud SDK’nın Java REST API’sini kullanarak [Metni Vurgulama veya Üzerini Çizme ve Satır veya Daire Ek Açıklamaları Ekleme] ekleme konusunda bazı heyecan verici özelliklerini vurguladığımız önceki blogumuzun devamıdır. Bu makalede, özellikle Java programlama dilini kullanarak PDF belgelerine Metin, Çoklu Çizgi, Kıvrımlı ve Ek Ek Açıklamaları ekleme hakkında ayrıntıları tartışacağız.
Aspose.PDF Cloud, kullanıcıların mevcut PDF dosyalarını diğer desteklenen belge biçimlerine dönüştürmesini, düzenlemesini ve işlemesini sağlayan bir REST API’dir. Cloud API’ye aşağıdaki iki yaklaşım kullanılarak erişilebilir:
- API’ye cURL komutları aracılığıyla erişin
- API’ye Java programlama dilinde erişin
cURL komutları ve Java kodu kullanarak PDF belgelerine çeşitli Açıklamaların eklenmesini daha ayrıntılı olarak tartışalım.
cURL komutunu kullanarak Açıklamalar ekleyin
cURL komutları, REST API’lerine erişmenin en kolay ve en havalı yollarından biridir. O halde cURL komutlarını kullanarak farklı açıklamalar eklemekten bahsedelim. Lütfen her API’nin ayrıca dosyaların işlenmek üzere saklanabileceği Cloud depolama alanına erişmenizi sağladığını unutmayın, bu nedenle veri bütünlüğünü sağlamak için API’lerimize yalnızca yetkili kişiler erişebilir. Bu nedenle, önce Aspose.Cloud panosunu ziyaret etmeniz ve bir GitHub veya Google hesabınız varsa, sadece Kaydolmanız gerekir. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın. Şimdi kimlik bilgilerini kullanarak panoya giriş yapın, panodan Uygulamalar bölümünü genişletin ve İstemci Kimliği ve İstemci Gizli Bilgisi ayrıntılarını görmek için İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırın.
Şimdiki adım, API’lere komut istemi aracılığıyla erişilebilmesi için bir JSON Web Token (JWT) oluşturmaktır.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=7042694c-5251-4aba-83c9-e81e7518724f&client_secret=db246d4742e8cd22e7266c9391992689" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Metin Açıklaması
Metin Açıklaması, PDF belgesinde belirli bir konuma iliştirilmiş bir açıklamadır. Kapatıldığında açıklama bir simge olarak görüntülenir; açıldığında okuyucunun seçtiği yazı tipi ve boyutta not metnini içeren bir açılır pencere görüntülemelidir. Metin Açıklamasını eklemek için PostPageTextAnnotation API’sini kullanmamız gerekir. Not simgesiyle Metin Açıklaması eklemek için aşağıdaki cURL komutunu kullanın.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/text" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "[{ \"Color\": { \"A\": 0, \"R\": 0xDA, \"G\": 0xA5, \"B\": 0x20 }, \"Contents\": \"Hello World \", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"string\", \"Rect\": { \"LLX\": 100, \"LLY\": 800, \"URX\": 100, \"URY\": 100 }, \"PageIndex\": 1, \"ZIndex\": 1, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Center\", \"CreationDate\": \"string\", \"Subject\": \"Subject of Annotation\", \"Title\": \"Annotation Title\", \"RichText\": \"string\", \"State\": \"Undefined\", \"Open\": true, \"Icon\": \"Note\" }]"
Yukarıdaki örnekte kullanılan örnek PDF dosyaları aşağıdaki bağlantılardan indirilebilir.
Polyline Açıklaması
Polyline açıklamaları, bir sayfadaki polyline’ları elle çizmek için kullanılır. Polyline köşeleri tarafından tanımlanan herhangi bir sayıda kenar içerebilirler. Şeffaf dolgu rengine sahip polyline açıklamaları yalnızca görünür çizgileri etrafında seçilebilir. Polyline açıklamaları ayrıca PostPagePolyLineAnnotations API’si kullanılarak da eklenebilir.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/polyline" \
-H "accept: application/json" \
-H "authorization: Bearer " \
-H "Content-Type: application/json" \
-d "[ { \"Color\": { \"A\": 0, \"R\": 122, \"G\": 132, \"B\": 255 }, \"Contents\": \"Hello World...\", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"Polyline\", \"Rect\": { \"LLX\": 100, \"LLY\": 200, \"URX\": 150, \"URY\": 250 }, \"PageIndex\": 1, \"ZIndex\": 1, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Center\", \"CreationDate\": \"05/26/2021 03:10:00.000 PM\", \"Subject\": \"Subject of Annotation\", \"Title\": \"Title of Annotation\", \"RichText\": \"<?xml version=\\\"1.0\\\"?><body xmlns=\\\"https://www.w3.org/1999/xhtml/\\\" xmlns:xfa=\\\"https://www.xfa.org/schema/xfa-data/1.0/\\\" xfa:APIVersion=\\\"Acrobat:7.0.0\\\" xfa:spec=\\\"2.0.2\\\" ><span style=\\\"text-decoration:;font-size:10.0pt\\\">Contents</span></body>\", \"InteriorColor\": { \"A\": 255, \"R\": 120, \"G\": 110, \"B\": 255 }, \"StartingStyle\": \"Circle\", \"EndingStyle\": \"OpenArrow\", \"Intent\": \"PolyLineDimension\", \"Vertices\": [ { \"X\": 164.611, \"Y\": 499.629 }, { \"X\": 192.858, \"Y\": 509.857 }, { \"X\": 226.461, \"Y\": 493.785 } ] }]"
kıvrımlı açıklama
Kıvrımlı veya engebeli altı çizili Açıklamalar, belgedeki bilgileri vurgulamaya yardımcı olur. PostPageSquigglyAnnotations API’si kullanılarak eklenebilirler. Aşağıdaki komut, PDF belgesine Kıvrımlı açıklama eklemenize yardımcı olur.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithTable.pdf/pages/1/annotations/squiggly" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "[ { \"Color\": { \"A\": 255, \"R\": 120, \"G\": 123, \"B\": 150 }, \"Contents\": \"A squiggly Annotation\", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"First Annotation\", \"Rect\": { \"LLX\": 100, \"LLY\": 300, \"URX\": 120, \"URY\": 330 }, \"PageIndex\": 1, \"ZIndex\": 1, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Center\", \"CreationDate\": \"05/26/2021 03:10:00.000 PM\", \"Subject\": \"Subject \", \"Title\": \"Title of Squiggly\", \"Starting\": { \"X\": 162.663, \"Y\": 654.5 }, \"StartingStyle\": \"Circle\", \"Ending\": { \"X\": 230.845, \"Y\": 654.5 }, \"EndingStyle\": \"OpenArrow\", \"InteriorColor\": { \"A\": 255, \"R\": 220, \"G\": 220, \"B\": 220 }, \"LeaderLine\": 10, \"LeaderLineExtension\": 5, \"LeaderLineOffset\": 2.5, \"ShowCaption\": true, \"CaptionOffset\": { \"X\": 7, \"Y\": 8 }, \"CaptionPosition\": \"Top\", \"Intent\": \"LineArrow\",\"RichText\": \"string\", \"QuadPoints\": [ { \"X\": 100, \"Y\": 200 } ] }]"
Ek Açıklaması
Çeşitli dosyalar PDF belgesine Ek açıklamaları olarak eklenebilir ve bu gereksinimi karşılamak için PostPageFileAttachmentAnnotations API’si kullanılabilir. Mevcut bir dosyayı PDF belgesine eklemek için aşağıdaki cURL komutunu çalıştırın. Örneğimizde, PdfWithTable.pdf adlı dosya (bulut depolamada zaten mevcuttur) bir ek olarak kullanılır.
curl -X POST "https://api.aspose.cloud/v3.0/pdf/PdfWithBookmarks.pdf/pages/1/annotations/fileattachment" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "[ { \"Color\": { \"A\": 255, \"R\": 120, \"G\": 120, \"B\": 120 }, \"Contents\": \"Content\", \"Modified\": \"05/26/2021 03:10:00.000 PM\", \"Id\": \"1\", \"Flags\": [ \"Default\" ], \"Name\": \"FileAttachment\", \"Rect\": { \"LLX\": 100, \"LLY\": 200, \"URX\": 120, \"URY\": 2200 }, \"PageIndex\": 1, \"ZIndex\": 0, \"HorizontalAlignment\": \"Center\", \"VerticalAlignment\": \"Top\", \"CreationDate\": \"05/26/2021 03:10:00.000 PM\", \"Subject\": \"Subject\", \"Title\": \"Title\", \"RichText\": \"string\", \"Icon\": \"PushPin\", \"Opacity\": 0, \"FileDescription\": \"string\", \"FileName\": \"PdfWithTable.pdf\", \"FilePath\": \"PdfWithTable.pdf\" }]"
Java kullanarak Açıklamalar ekleyin
cURL komutlarının dışında, Cloud API’lerimizi kullanmanın bir diğer yaklaşımı da bunlara programlama SDK’ları aracılığıyla erişmektir. Popüler programlama dilleri için programlama SDK’ları geliştirdik. Bu nedenle, Java dilini kullanarak PDF’deki Açıklamalarla çalışmak için lütfen Aspose.PDF Cloud SDK for Java kullanmayı deneyin.
İlk adım SKD’yi sisteme kurmaktır. Cloud SDK Maven ve GitHub üzerinden indirilebilir. Şimdi, Aspose.Pdf.jar’ı Maven derleme projenizde indirmek ve kullanmak için pom.xml dosyanıza aşağıdaki ayrıntıları ekleyin.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
Daha fazla bilgi için lütfen Aspose.Cloud SDK’ları Nasıl Kurulur sayfasını ziyaret edin.
Metin Açıklamaları
Aşağıda PDF belgelerine Metin Açıklamaları ekleme adımları verilmiştir.
- İlk adım, ClientID ve ClientSecret’ı argüman olarak sağladığımız bir PdfApi nesnesi oluşturmaktır
- Daha sonra açıklamanın eklendiği Rectangle nesnesini oluşturuyoruz
- LLX - Sol alt köşenin X koordinatı.
- LLY - Y - sol alt köşenin koordinatı.
- URY - X - Sağ üst köşenin koordinatı.
- URY - Y - Sağ üst köşenin koordinatı.
- setHorizontalAlignment(..) metodunu kullanarak hizalamayı tanımladığımız TextAnnotation nesnesini oluşturun. setSubject(…) metodunu kullanarak özneyi, setState(…) metodunu kullanarak varsayılan durumu ayarlayın, vb.
- Daha sonra TextAnnotation türünde ArrayList<> nesnesini oluşturun ve yukarıda oluşturulan TextAnnotation nesnesini buna ekleyin
- Son olarak, giriş PDF dosya adını, Sayfa Numarasını ve yukarıda oluşturulan Annotations ArrayList’ini argüman olarak geçirdiğimiz postPageTextAnnotations(…)‘ı çağırın
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "7042694c-5251-4aba-83c9-e81e7518724f";
String clientSecret = "db246d4742e8cd22e7266c9391992689";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String name = "PdfWithTable.pdf";
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// Açıklamanın eklenmesi gereken sayfa numarası
int pageNumber = 1;
// Açıklamanın eklendiği Dikdörtgen nesnesini oluşturun
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(600.)
.URX(200.)
.URY(650.);
// AnnotationFlags'ın ListArray'ini Oluştur
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// TextAnnotation nesnesi oluştur
TextAnnotation textAnnotation = new TextAnnotation();
textAnnotation.setName("Annotation Name");
textAnnotation.setRect(rect);
textAnnotation.setFlags(flags);
textAnnotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
// Annotation içinde görüntülenecek içeriği ayarlayın
textAnnotation.contents("Hello World...");
// Açıklama için simgeyi ayarlayın
textAnnotation.icon(TextIcon.KEY);
textAnnotation.setSubject("Text Box Subj");
textAnnotation.setZindex(1);
// Açıklama Nesnesinin varsayılan durumu
textAnnotation.setState(AnnotationState.COMPLETED);
// TextAnnotation'ın ListArray'ını oluştur
List<TextAnnotation> annotations = new ArrayList<>();
// yukarıda oluşturulan TextAnnotation'ı List örneğine ekleyin
annotations.add(textAnnotation);
// PDF dosyasına açıklama eklemek için yöntemi çağırın
AsposeResponse response = pdfApi.postPageTextAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
Polyline Açıklamaları
Cloud SDK ayrıca Polyline Açıklamalarını PDF belgesine eklemek için aynı yetenekleri sağlar. Aşağıda bu gereksinimi karşılamak için adımlar ve kod parçacığı verilmiştir.
- İlk olarak PdfApi örneği oluşturup kaynak dosyayı Cloud depolamaya yüklememiz gerekiyor.
- Poli çizgilerin çizileceği noktaları tanımlayan Point türünde bir ArrayList oluşturun.
- Bir sonraki adım, dikdörtgen bölgeyi tanımladığımız ve setVertices(…) metoduna Points ListArray’i geçirdiğimiz PolyLineAnnotation nesnesini oluşturmaktır.
- İç rengi ayarlamak için setInteriorColor(…) metodunu kullanın ve Color örneğini argüman olarak geçirin.
- Şimdi, açıklamanın başlangıç ve bitiş stilini tanımlamak için startingStyle(…) ve endingStyle(…) yöntemlerini çağırın. Bu yöntemler, argüman olarak LineEnding numaralandırmasından değer alır.
- Son olarak, PDF belgesinin içinde Açıklama oluşturmak için PdfApi sınıfının postPagePolyLineAnnotations(…) metodunu çağırın.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String name = "PdfWithTable.pdf";
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// açıklama eklenecek giriş dosyası için sayfa numarası
int pageNumber = 1;
// açıklama için dikdörtgen bölge
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(600.)
.URX(200.)
.URY(650.);
// açıklama için köşeleri belirtin
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// PolyLineAnnotation nesnesi oluştur
PolyLineAnnotation annotation = new PolyLineAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
// Açıklamanın Yatay hizalamasını ayarlayın
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
// renkli nesne oluştur
Color color = new Color();
color.setA(255);
color.setR(120);
color.setG(140);
color.setB(130);
// açıklama örneği için dahili rengi ayarla
annotation.setInteriorColor(color);
annotation.setVertices(vertices);
// açıklama için başlangıç stilini belirtin
annotation.startingStyle(LineEnding.OPENARROW);
// Açıklama için bitiş stilini ayarlayın
annotation.endingStyle(LineEnding.SQUARE);
List<PolyLineAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
// Belgenin ilk sayfasına Polyline Açıklaması eklemek için yöntemi çağırın
AsposeResponse response = pdfApi.postPagePolyLineAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
kıvrımlı notlar
PDF belgesine Squiggly ek açıklamaları eklemek için SquigglyAnnotation adlı ayrı bir sınıf kullanılır. Aşağıda verilen kod parçacığı, Cloud depolamada bulunan PDF dosyasına Squiggly ek açıklamaları eklemek için kullanılabilir.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String name = "PdfWithTable.pdf";
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// Açıklamanın ekleneceği giriş dosyası için sayfa numarası
int pageNumber = 1;
// açıklama için dikdörtgen bölge
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(600.)
.URX(200.)
.URY(650.);
// açıklama için köşeleri belirtin
List<Point> vertices = new ArrayList();
vertices.add(new Point().X(10.).Y(10.));
vertices.add(new Point().X(20.).Y(10.));
vertices.add(new Point().X(10.).Y(20.));
vertices.add(new Point().X(10.).Y(10.));
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// SquigglyAnnotation nesnesini oluştur
SquigglyAnnotation annotation = new SquigglyAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
// renkli nesne oluştur
Color color = new Color();
color.setA(155);
color.setR(120);
color.setG(140);
color.setB(130);
// açıklama örneği için dahili rengi ayarla
annotation.color(color);
// açıklama noktalarını ayarla
annotation.setQuadPoints(vertices);
List<SquigglyAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
// Belgenin ilk sayfasına Squiggly Açıklaması eklemek için yöntemi çağırın
AsposeResponse response = pdfApi.postPageSquigglyAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
Dosya Eki Açıklamaları
Dosya eki açıklamasını eklemek için lütfen aşağıdaki kod parçacığını kullanmayı deneyin. Kod açıklaması, yukarıdaki bölümlerde paylaşılanla aynıdır; ancak bu gereksinimi yerine getirmek için FileAttachmentAnnotation nesnesini kullanmanız gerekir.
// ClientID ve ClientSecret'ı https://dashboard.aspose.cloud/ adresinden edinin
String clientId = "a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4";
String clientSecret = "d87269aade6a46cdc295b711e26809af";
// createPdfApi örneği
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// PDF belgesini girin
String name = "PdfWithTable.pdf";
// Dosyayı yerel sistemden yükleyin
File file = new File("/Users/nayyershahbaz/Downloads/" + name);
// dosyayı bulut depolama alanına yükle
FilesUploadResult uploadResponse = pdfApi.uploadFile(name, file, null);
// Açıklamanın ekleneceği giriş dosyası için sayfa numarası
int pageNumber = 1;
// açıklama için dikdörtgen bölge
Rectangle rect = new Rectangle()
.LLX(100.)
.LLY(100.)
.URX(200.)
.URY(200.);
List<AnnotationFlags> flags = new ArrayList<>();
flags.add(AnnotationFlags.DEFAULT);
// FileAttachmentAnnotation nesnesini oluştur
FileAttachmentAnnotation annotation = new FileAttachmentAnnotation();
annotation.setName("Name");
annotation.setRect(rect);
annotation.setFlags(flags);
annotation.setHorizontalAlignment(HorizontalAlignment.CENTER);
annotation.contents("Rich Text in the PDF File...");
annotation.setSubject("Subj");
annotation.setZindex(1);
annotation.setTitle("Title");
annotation.setModified("28/05/2021 00:00:00.000 AM");
// ek dosyanın yolu
annotation.setFilePath("images.jpeg");
// ek dosya adı
annotation.setFileName("images.jpeg");
// FileAttachment'ın Liste örneğini oluştur
List<FileAttachmentAnnotation> annotations = new ArrayList<>();
annotations.add(annotation);
// Belgenin ilk sayfasına FileAttachment Açıklaması eklemek için yöntemi çağırın
AsposeResponse response = pdfApi.postPageFileAttachmentAnnotations(name, pageNumber, annotations, null, null);
assertEquals(200, (int)response.getCode());
Çözüm
Bu makalede, PDF belgesine Metin, Çoklu Çizgi, Kıvrımlı ve Dosya Ek Açıklamaları ekleme adımlarını ve ilgili ayrıntıları ele aldık. Cloud SDK’larımız açık kaynaklı olduğundan, kaynak kodunun tamamını GitHub adresinden indirebilirsiniz. Depoda ayrıca Java Cloud SDK’nın mevcut PDF dosyalarını oluşturmak ve düzenlemek için nasıl kullanılacağına dair diğer yararlı örnekler de bulunmaktadır. İlgili herhangi bir sorunuz varsa lütfen Ücretsiz müşteri destek forumları aracılığıyla bizimle iletişime geçmekten çekinmeyin.
İlgili makaleler
Aşağıdaki makaleleri ziyaret etmenizi şiddetle tavsiye ederiz: