<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Youna</title>
    <description>The latest articles on DEV Community by Youna (@youna12345).</description>
    <link>https://dev.to/youna12345</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1104806%2Fc49cd835-64ec-4ac4-81f4-bae0865f4e4c.png</url>
      <title>DEV Community: Youna</title>
      <link>https://dev.to/youna12345</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/youna12345"/>
    <language>en</language>
    <item>
      <title>ComPDFKit PDF SDK Supporting Cross Platforms and Frameworks</title>
      <dc:creator>Youna</dc:creator>
      <pubDate>Thu, 02 Nov 2023 04:01:25 +0000</pubDate>
      <link>https://dev.to/youna12345/compdfkit-pdf-sdk-supporting-cross-platforms-and-frameworks-14n4</link>
      <guid>https://dev.to/youna12345/compdfkit-pdf-sdk-supporting-cross-platforms-and-frameworks-14n4</guid>
      <description>&lt;p&gt;ComPDFKit is a powerful and versatile PDF SDK offering comprehensive cross-platform development support. With its wide range of features and extensive platform compatibility, ComPDFKit is an ideal choice for developers looking to integrate PDF functionality into their applications, allowing companies, organizations, small businesses, and developers to integrate annotating, editing, converting, filling, and signing PDF documents in their applications or products.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ComPDFKit Resources:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wondering where you can learn more about ComPDFKit PDF SDK? Have a look at the resources below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free Online Demo for Viewing and Editing PDFs: &lt;a href="https://www.compdf.com/webviewer/demo"&gt;https://www.compdf.com/webviewer/demo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Free Online Demo for PDF Conversion to/from Word, Excel, PPT, PNG, JPG, HTML, TXT, CSV, RTF, etc.: &lt;a href="https://www.compdf.com/pdf-tools"&gt;https://www.compdf.com/pdf-tools&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Free Online API for PDF Conversion and Editing (Sign up and Get 100 Free Files Processing Monthly Now): &lt;a href="https://api.compdf.com/api/pricing"&gt;https://api.compdf.com/api/pricing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;ComPDFKit's Official Website: &lt;a href="https://www.compdf.com/"&gt;https://www.compdf.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Developer Guides: &lt;a href="https://www.compdf.com/documentation"&gt;https://www.compdf.com/documentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Blog: &lt;a href="https://www.compdf.com/blog"&gt;https://www.compdf.com/blog&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Contact Us: &lt;a href="https://www.compdf.com/contact-sales"&gt;https://www.compdf.com/contact-sales&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Don’t hesitate, to start experiencing ComPDFKit’s flexibility, versatility, and ease of use today!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ComPDFKit PDF SDK Provides:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Platform Support&lt;br&gt;
ComPDFKit PDF SDK supports various development platforms, including Windows, Web, Android, iOS, and Linux. This broad platform compatibility allows developers to create PDF applications for different operating systems and devices, ensuring a seamless user experience across multiple platforms.&lt;/p&gt;

&lt;p&gt;Cross-Platform Framework Support&lt;br&gt;
ComPDFKit PDF SDK is designed to work seamlessly with popular cross-platform frameworks, such as React Native, Flutter, Electron, Ionic Angular, Windows UWP, Xamarin, and Cordova. This enables developers to leverage their existing knowledge and skills to build PDF applications that can run on multiple platforms without the need for extensive platform-specific code.&lt;/p&gt;

&lt;p&gt;Rich Development Framework Support&lt;br&gt;
ComPDFKit offers extensive development framework support for both web and Windows platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web Platform: ComPDFKit provides support for a wide range of web development frameworks, including Vue, Nuxt.js, React, Next.js, Svelte, Angular, TypeScript, and PHP. This allows developers to choose the framework that best suits their needs and preferences when building PDF applications for the web.&lt;/li&gt;
&lt;li&gt;Windows Platform: ComPDFKit offers comprehensive support for Windows development frameworks, including .NET, .NET Core, WPF, WinForms, MFC, UWP, WinUI, and MAUI. This ensures that developers can seamlessly integrate PDF functionality into their Windows applications using their preferred development framework.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Flexible Deployment Options&lt;br&gt;
ComPDFKit PDF SDK supports multiple deployment options, including local integration, API calls, and private deployment.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Supported Features:
PDF Content Editing:&lt;/li&gt;
&lt;li&gt;Edit Text&lt;/li&gt;
&lt;li&gt;Edit Images&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Viewer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Standard page display modes, including Scrolling, Double page, Crop mode, and Cover mode.&lt;/li&gt;
&lt;li&gt;Navigation with thumbnails, outlines, and bookmarks.&lt;/li&gt;
&lt;li&gt;Text search &amp;amp; selection.&lt;/li&gt;
&lt;li&gt;Zoom in and out &amp;amp; Fit-page.&lt;/li&gt;
&lt;li&gt;Switch between different themes, including Dark mode, Sepia mode, Reseda mode, and Custom color mode.&lt;/li&gt;
&lt;li&gt;Text reflow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Annotations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create, edit, and remove annotations, including Note, Link, Freetext, Line, Square, Circle, Highlight, Underline, Squiggly, Strikeout, Stamp, Ink, and Sound.&lt;/li&gt;
&lt;li&gt;Support for annotation appearances.&lt;/li&gt;
&lt;li&gt;Import and export annotations to/from XFDF.&lt;/li&gt;
&lt;li&gt;Support for annotation flattening.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Forms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create, edit, and remove form fields, including Push Button, Check Box, Radio Button, Text Field, Combo Box, List Box, and Signature.&lt;/li&gt;
&lt;li&gt;Fill out PDF Forms.&lt;/li&gt;
&lt;li&gt;Support for PDF form flattening.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Document editor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDF manipulation, including Split pages, Extract pages, and Merge pages.&lt;/li&gt;
&lt;li&gt;Page edit, including Delete pages, Insert pages, Crop pages, Move pages, Rotate pages, Replace pages, and Exchange pages.&lt;/li&gt;
&lt;li&gt;Document information setting.&lt;/li&gt;
&lt;li&gt;Extract images.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encrypt and decrypt PDFs, including Permission setting and Password protection.&lt;/li&gt;
&lt;li&gt;Create, edit, and remove header &amp;amp; footer, including dates, page numbers, document name, author name, and chapter name.&lt;/li&gt;
&lt;li&gt;Create, edit, and remove Bates numbers.&lt;/li&gt;
&lt;li&gt;Create, edit, and remove a background that can be a solid color or an image.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Redaction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Redact content like images, text, and vector graphics.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Watermark:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create, edit, and remove the watermark.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conversion:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDF to Word.&lt;/li&gt;
&lt;li&gt;PDF to Excel.&lt;/li&gt;
&lt;li&gt;PDF to PPT.&lt;/li&gt;
&lt;li&gt;PDF to TXT.&lt;/li&gt;
&lt;li&gt;PDF to CSV.&lt;/li&gt;
&lt;li&gt;PDF to PDF/A.&lt;/li&gt;
&lt;li&gt;PDF to Image.&lt;/li&gt;
&lt;li&gt;PDF to RTF.&lt;/li&gt;
&lt;li&gt;PDF to HTML.&lt;/li&gt;
&lt;li&gt;PDF to PDF/A&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Document Comparison:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overlay Comparison&lt;/li&gt;
&lt;li&gt;Content Comparison&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Signatures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Digital Signatures (Sign with Digital ID, Verify Signature and Digital Certificates, Trust Signatures, Trust Certificate, Signature Appearance Setting).&lt;/li&gt;
&lt;li&gt;Electronic Signatures (Drawn, Image, Type Signatures).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Optimization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compress: Reduce PDF document size with no or minimum visual quality loss.
 
Measurement:&lt;/li&gt;
&lt;li&gt;Create and edit distance, perimeter, area, angle, diameter, radius, and volume measurement annotations.&lt;/li&gt;
&lt;li&gt;Change the scale and precision of measurement annotations.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>pdf</category>
      <category>platform</category>
      <category>sdk</category>
      <category>crossplatform</category>
    </item>
    <item>
      <title>A Comparison of PDF to Word SDKs</title>
      <dc:creator>Youna</dc:creator>
      <pubDate>Fri, 25 Aug 2023 05:54:42 +0000</pubDate>
      <link>https://dev.to/youna12345/a-comparison-of-pdf-to-word-sdks-4mif</link>
      <guid>https://dev.to/youna12345/a-comparison-of-pdf-to-word-sdks-4mif</guid>
      <description>&lt;p&gt;Hello everyone, I am Youna. At work, we inevitably have to convert various document formats in our day-to-day tasks. We will explore a few mainstream PDF to Word SDKs, analyzing their advantages and disadvantages in our actual work.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Solid: An old and trusted PDF to Office conversion library with decades of experience.&lt;/li&gt;
&lt;li&gt;Aspose: It supports a wide range of file format conversions, including PDF to Word.&lt;/li&gt;
&lt;li&gt;Foxit: A recently launched self-developed PDF and PDF to Office product.&lt;/li&gt;
&lt;li&gt;ComPDFKit: It is a new and ambitious company, which frequently updates its products. Their PDF apps are downloaded by over 200 million.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let's directly compare the PDF to Word conversion capabilities of these SDKs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Comparison Table:
&lt;/h3&gt;

&lt;p&gt;I tested some documents with different features, which include those with many pages, those incorporating tables, and those combining text and graphics. Also, I chose some documents in different industries like academic papers, CAD drafting, finance, and others. Let's first take a look at how long the conversion times are when converted by different PDF Conversion SDK technologies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qqES1mTX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nenk0eimr6286v8atcv0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qqES1mTX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nenk0eimr6286v8atcv0.png" alt="Image description" width="800" height="598"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zfit0Xmc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5se7zt3rwkf6z69bq5oq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zfit0Xmc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5se7zt3rwkf6z69bq5oq.png" alt="Image description" width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Out of 12 documents, Foxit failed to convert three documents, while the other three SDKs successfully converted all documents. Aspose SDK can only convert the first four pages due to trial reasons, but in some cases, it is still slower than the other three that converted all pages. ComPDFKit has the fastest conversion speed overall. Next, let's take a look at the specific effects.&lt;/p&gt;

&lt;p&gt;Convert A PDF with 651 Pages&lt;/p&gt;

&lt;p&gt;Original document&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vTCS5iE5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hqqleze7coe5s4qaw29n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vTCS5iE5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hqqleze7coe5s4qaw29n.png" alt="Image description" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conversion Results of SDK Vendors&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ComPDFKit：Basically no problem, but the font is different from the original document.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mTuRPkks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qbs7vjht80x5yat9v4xg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mTuRPkks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qbs7vjht80x5yat9v4xg.png" alt="Image description" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--s8N18nZe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mqxouzjqa5h56j51xy6n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s8N18nZe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mqxouzjqa5h56j51xy6n.png" alt="Image description" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foxit: You can see that there are some minor recognition errors, mainly when crossing lines, there are some cases of bold recognition errors.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--98jrEPW8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip4tofn4x62911uhkw3j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--98jrEPW8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ip4tofn4x62911uhkw3j.png" alt="Image description" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jhkhZgAK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijs0jtc4fb9bnzy9px9h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jhkhZgAK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ijs0jtc4fb9bnzy9px9h.png" alt="Image description" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solid: Basically no problem, no errors, but there is also a font difference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gn8MYWdQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65uzrb9wvv2mmetvwuh8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gn8MYWdQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65uzrb9wvv2mmetvwuh8.png" alt="Image description" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LXQmr00u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sukjr3paehf7njrrggm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LXQmr00u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sukjr3paehf7njrrggm4.png" alt="Image description" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Convert A Securities PDF Document with Graphics and Chinese
&lt;/h3&gt;

&lt;p&gt;Original document&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fnJRnDwr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k5kbthbcvwfwrzxcbnzp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fnJRnDwr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k5kbthbcvwfwrzxcbnzp.png" alt="Image description" width="800" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conversion Results of SDK Vendors&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ComPDFKit: The layouts are correct. But some fonts on the second page will have a ghosting phenomenon, and some text will exceed the text box.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3TfG4BJQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lutkcw31nhf54drzcvbo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3TfG4BJQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lutkcw31nhf54drzcvbo.png" alt="Image description" width="800" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foxit: The layouts are correct. But some fonts on the second page will have a ghosting phenomenon, and the chart on the first page will exceed the text box.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W2gawxHs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vd2rbaaozox4slg4gmmw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W2gawxHs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vd2rbaaozox4slg4gmmw.png" alt="Image description" width="800" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solid: The layouts are correct. But the chart on the first page will exceed the text box, and the footer image on the first page has a transparency recognition error.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Z8Jk7QVu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/83m1fcoeb607k5kupmbc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z8Jk7QVu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/83m1fcoeb607k5kupmbc.png" alt="Image description" width="800" height="227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aspose：The layouts are correct. But some text on the second page has a shadow.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yiURy4_g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jffker4xfss1s8noih7r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yiURy4_g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jffker4xfss1s8noih7r.png" alt="Image description" width="800" height="227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Convert A Thesis PDF File
&lt;/h3&gt;

&lt;p&gt;Original document&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TdTgOBL6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tojp94fqk4npj61hy5j0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TdTgOBL6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tojp94fqk4npj61hy5j0.png" alt="Image description" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conversion Results of SDK Vendors&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ComPDFKit: The conversion of the formula is converted to the original characters in the document, so there will be garbled characters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fkUBDva1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/95cyqewtw59ndu65xir3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fkUBDva1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/95cyqewtw59ndu65xir3.png" alt="Image description" width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foxit: It did not distinguish between the boldness of the small title and the thinness of the text, and some text was replaced by pictures, making the layout relatively messy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rQi7i0YW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/maohehjhusm4wv96t3v4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rQi7i0YW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/maohehjhusm4wv96t3v4.png" alt="Image description" width="800" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solid: It supports the formula better, but some symbols use deformed pictures instead, which affects the visual effect.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wb4RUKqd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txevz44t5h28xnd8zx8h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wb4RUKqd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txevz44t5h28xnd8zx8h.png" alt="Image description" width="800" height="538"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Convert A PDF with Text and Graphics
&lt;/h3&gt;

&lt;p&gt;Original document   &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oVDhkPqX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kck66kpj7y5q3l0o4ykf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oVDhkPqX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kck66kpj7y5q3l0o4ykf.png" alt="Image description" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conversion Results of SDK Vendors&lt;/p&gt;

&lt;p&gt;The mixed text and graphics layout is well maintained by all these SDKs.&lt;/p&gt;

&lt;p&gt;ComPDFKit, Foxit, Solid fonts, and original documents are not solved perfectly. Aspose is the closest, but Aspose background image scaling is wrong. ComPDFkit has a few words at the top cut-off.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ComPDFKit: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--udopSxQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhi3ie546bh056b2y6gc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--udopSxQS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhi3ie546bh056b2y6gc.png" alt="Image description" width="800" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foxit: &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OL3-xVWE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0fjwkvrtxymhk5wxq218.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OL3-xVWE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0fjwkvrtxymhk5wxq218.png" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solid：&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0HywZxYS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3rzreugrpswmyrul137.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0HywZxYS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3rzreugrpswmyrul137.png" alt="Image description" width="800" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aspose:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ov3ayAAO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7rha8dolvndtelcuskwx.png" alt="Image description" width="800" height="513"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Convert A PDF with Text, Images, and Tables
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Foxit: The background shape of the text is changed, becoming irregular.&lt;/li&gt;
&lt;li&gt;Aspose: Background image shrunk.&lt;/li&gt;
&lt;li&gt;ComPDFKit: Some text presenting time was cut off in part.&lt;/li&gt;
&lt;li&gt;Solid: The effect is good.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Original document&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nJFsJ4oy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kjoaynv3fc9qhzi9rg4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nJFsJ4oy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kjoaynv3fc9qhzi9rg4i.png" alt="Image description" width="800" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conversion Results of SDK Vendors&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ComPDFKit:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RzKRMfl6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjd4u9xqa3wsdbwm2e03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RzKRMfl6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjd4u9xqa3wsdbwm2e03.png" alt="Image description" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Foxit：&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uYfOvYNn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4y7imzzrzcsdv3yfpqs8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uYfOvYNn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4y7imzzrzcsdv3yfpqs8.png" alt="Image description" width="800" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Solid：&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e2WR1ArC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/egw1vod0y1b3mgc597gu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e2WR1ArC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/egw1vod0y1b3mgc597gu.png" alt="Image description" width="800" height="512"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aspose:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q9D9lKzU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6nry2b1ssiz16rlijzye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q9D9lKzU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6nry2b1ssiz16rlijzye.png" alt="Image description" width="800" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;These SDKs converted PDF to Word have their own advantages and disadvantages. It should be the different algorithm focus when converting PDF to Word. You can choose the appropriate SDK company according to your own project situation and project budget.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Build an Android PDF Viewer or Editor in Java</title>
      <dc:creator>Youna</dc:creator>
      <pubDate>Wed, 02 Aug 2023 11:44:43 +0000</pubDate>
      <link>https://dev.to/youna12345/how-to-build-an-android-pdf-viewer-or-editor-in-java-104p</link>
      <guid>https://dev.to/youna12345/how-to-build-an-android-pdf-viewer-or-editor-in-java-104p</guid>
      <description>&lt;p&gt;&lt;span&gt;In today's mobile-first world, creating an Android app is a must-have for businesses and developers alike. And, with the increasing need to work with PDF documents, building an Android PDF viewer and editor with ComPDFKit, a powerful PDF SDK, enable your end users to view and edit PDFs with ease.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;In this blog, we'll start by exploring the necessary steps to integrate the ComPDFKit PDF SDK, and build an Android PDF Reader with ComPDFKit.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Get Started with ComPDFKit Android PDF SDK&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;ComPDFKit is a powerful PDF SDK. It is easy to embed ComPDFKit PDF SDK in your Android application with a few lines of Java code. Take just a few minutes and get started.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;The following sections introduce the requirements, structure of the installation package, and how to make an Android PDF Reader in Java with ComPDFKit PDF SDK.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Requirements&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;ComPDFKit PDF SDK is supported on Android devices running API level 19 or newer and targeting the latest stable Android version 4.4 or higher. Furthermore, ComPDFKit PDF SDK requires apps to enable Java 8 language features to build.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - Android Studio 3.2 or newer (support AndroidX).&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - Project specifications.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;           A&lt;span&gt; &lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;minSdkVersion&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; of&lt;span&gt; &lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;19&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; or higher. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;           A &lt;span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;compileSdkVersion&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; of &lt;span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;30&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; or higher. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;           A &lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;targetSdkVersion&lt;/code&gt; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;of &lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;30&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt; or higher. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;           Android ABI(s): x86, x86_64, armeabi-v7a, arm64-v8a.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;&lt;span&gt;&lt;strong&gt;&lt;span&gt;Android Package Structure&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;The package of ComPDFKit PDF SDK for Android includes the following files:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - &lt;strong&gt;libs&lt;/strong&gt; - A folder containing &lt;em&gt;&lt;strong&gt;ComPDFKit.aar&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;ComPDFKit-UI.aar&lt;/strong&gt;&lt;/em&gt;, and &lt;em&gt;&lt;strong&gt;ComPDFKit-Utils.aar&lt;/strong&gt;&lt;/em&gt;. &lt;em&gt;&lt;strong&gt;ComPDFKit.aar&lt;/strong&gt;&lt;/em&gt; is PDF Core API. &lt;em&gt;&lt;strong&gt;ComPDFKit-UI.aar&lt;/strong&gt;&lt;/em&gt; is the PDF View. &lt;em&gt;&lt;strong&gt;ComPDFKit-Utils.aar&lt;/strong&gt;&lt;/em&gt; includes UI extension components based on the fundamental layout classes: &lt;span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;ReaderFragment&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt; or &lt;span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;ReaderActivity&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - &lt;strong&gt;PDFViewer&lt;/strong&gt; - A folder containing Android sample projects.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - &lt;strong&gt;api_reference_android&lt;/strong&gt; - API reference.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - &lt;strong&gt;developer_guide_android.pdf&lt;/strong&gt; - Developer guide.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - &lt;strong&gt;release_notes.txt&lt;/strong&gt; - Release information.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;         - &lt;strong&gt;legal.txt&lt;/strong&gt; - Legal and copyright information.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O0K9tK3W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440902a58f6f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O0K9tK3W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440902a58f6f.png" alt="Android Package Structure" width="800" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Make an Android PDF Viewer in Java&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;This section will help you to quickly get started with ComPDFKit PDF SDK to make an Android app in Java with step-by-step instructions. Through the following steps, you will get a simple application that can display the contents of a specified PDF file.&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;&lt;span&gt; &lt;/span&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Step 1: Create a New Project&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;1. Use Android Studio to create a Phone &amp;amp; Tablet project. Here we create a No Activity project.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LyZiDTNE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440923e4adac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LyZiDTNE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440923e4adac.png" alt="Create a New Project" width="800" height="578"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Step 2: Add ComPDFKit PDF SDK Package&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;1. The first thing we need to do is to import ComPDFKit PDF SDK. Copy &lt;em&gt;&lt;strong&gt;ComPDFKit.aar&lt;/strong&gt;&lt;/em&gt; and &lt;em&gt;&lt;strong&gt;ComPDFKit-UI.aar&lt;/strong&gt;&lt;/em&gt; to the &lt;em&gt;&lt;strong&gt;libs&lt;/strong&gt;&lt;/em&gt; directory of the &lt;em&gt;&lt;strong&gt;app&lt;/strong&gt;&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JqT59m9e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644092d43378c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JqT59m9e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644092d43378c.png" alt="Libs" width="220" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;2. Add the following code into the &lt;strong&gt;app&lt;/strong&gt; dictionary’s &lt;em&gt;&lt;strong&gt;build.gradle&lt;/strong&gt;&lt;/em&gt; file:&lt;/span&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;...
dependencies {
    /*ComPDFKit SDK*/
    implementation(fileTree('libs'))
    ...
}
...&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;3. Add ComPDFKit PDF SDK for Android as a dependency to the project. Inside the &lt;strong&gt;app&lt;/strong&gt; dictionary’s &lt;em&gt;&lt;strong&gt;build.gradle&lt;/strong&gt;&lt;/em&gt;, add &lt;em&gt;&lt;strong&gt;ComPDFKit.aar&lt;/strong&gt;&lt;/em&gt;, &lt;em&gt;&lt;strong&gt;ComPDFKit-UI.aar&lt;/strong&gt;&lt;/em&gt; and the related support libraries to the &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;dependencies&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;. For simplicity, update the &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;dependencies&lt;/code&gt; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;as follows:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dependencies {
    ...
    //glide
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
    implementation 'androidx.documentfile:documentfile:1.0.1'
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;4. Apply for read and write permissions in &lt;/span&gt;&lt;strong&gt;AndroidManifest.xml&lt;/strong&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3NzZKdvy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52r8kkgjdszn4jrbw43k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3NzZKdvy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/52r8kkgjdszn4jrbw43k.png" alt="Image description" width="800" height="99"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;strong&gt;Note&lt;/strong&gt;: &lt;em&gt;On your apps that target Android 6.0 or higher, make sure to check for and request read and write permissions to external storage at runtime.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Step 3: Apply the License Key&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;Add this license in the &lt;strong&gt;AndroidManifest.xml&lt;/strong&gt; of the main module:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---97ArMuH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qqo41nt4g87rge3wcva9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---97ArMuH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qqo41nt4g87rge3wcva9.png" alt="Image description" width="800" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;&lt;span&gt;Step 4: Display a PDF Document&lt;/span&gt;&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;1. Copy a PDF document into the &lt;strong&gt;assets&lt;/strong&gt; directory of your Android project. For example, import the file &lt;em&gt;&lt;strong&gt;Quick Start Guide.pdf&lt;/strong&gt;&lt;/em&gt; to the path &lt;strong&gt;src/main/assets&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mqpsQuaX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644096084db9b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mqpsQuaX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644096084db9b.png" alt="Display a PDF Document" width="261" height="279"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;2. Create a new &lt;strong&gt;Empty Activity&lt;/strong&gt; under your package, and set the activity name to &lt;strong&gt;MainActivity&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ynYJR55I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644096c0d25e0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ynYJR55I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644096c0d25e0.png" alt="Empty Activity" width="800" height="812"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;Android Studio will automatically generate a source file called &lt;strong&gt;MainActivity.java&lt;/strong&gt; and a layout file called &lt;strong&gt;activity_main.xml&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;The source file:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yUjQYtLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440972e336e1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yUjQYtLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440972e336e1.png" alt="Activity Java" width="226" height="80"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;The layout file:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DohBGIbA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440976164559.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DohBGIbA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/6440976164559.png" alt="Layout" width="187" height="149"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;3. Create a &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;CPDFReaderView&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt; in your &lt;/span&gt;&lt;em&gt;&lt;strong&gt;activity_main.xml&lt;/strong&gt;&lt;/em&gt;&lt;span&gt; to display the contents of the PDF document:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XjL6jtbm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oahe29ahgggi11usnfvl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XjL6jtbm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oahe29ahgggi11usnfvl.png" alt="Image description" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;Get the &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;CPDFReaderView&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt; from the layout or create a &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;CPDFReaderView&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt; directly in the code in the corresponding &lt;/span&gt;&lt;em&gt;&lt;strong&gt;MainActivity.java&lt;/strong&gt;&lt;/em&gt;&lt;span&gt; file:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;// Your MainActivity.java file
package com.compdfkit.pdfviewer;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.compdfkit.ui.reader.CPDFReaderView;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Get CPDFReaderView from xml.
        CPDFReaderView readerView = findViewById(R.id.readerview);
        // Code to create CPDFReaderView.
        // CPDFDocument readerView = new CPDFReaderView(content);
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;4. Open the document. This is a time-consuming process, so it needs to be executed in a &lt;strong&gt;sub-thread&lt;/strong&gt;. After the document is opened successfully, the UI that renders the PDF is initiated:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;// Your MainActivity.java file
... //imports
public class MainActivity extends AppCompatActivity {
    // Copy the PDF file from the assets folder to the cache folder.
    private void copyPdfFromAssetsToCache(String fileName) {
        try {
            InputStream inputStream = getAssets().open(fileName);
            File outputFile = new File(getCacheDir(), fileName);
            FileOutputStream outputStream = new FileOutputStream(outputFile);
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            inputStream.close();
            outputStream.flush();
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        CPDFReaderView readerView = findViewById(R.id.readerview);
        // Code to create CPDFReaderView.
        // CPDFDocument readerView = new CPDFReaderView(content);
        //Create a document object.
        CPDFDocument document = new CPDFDocument(this);
        
        new Thread(() -&amp;gt; {
            String fileName = "Quick Start Guide.pdf";
            copyPdfFromAssetsToCache(fileName);
            File file = new File(getCacheDir(), fileName);
            String filePath = file.getAbsolutePath();
            //Open document.
            CPDFDocument.PDFDocumentError error = document.open(filePath);
            if (error == CPDFDocument.PDFDocumentError.PDFDocumentErrorPassword) {
                //The document is encrypted and requires a password to open.
                error = document.open(filePath, "password");
            }
            if (error == CPDFDocument.PDFDocumentError.PDFDocumentErrorSuccess) {
                //The document is opened successfully and data can be parsed and manipulated.
            } else {
                //The PDF file failed to open. You can refer to the API file for specific error
            }
        }).start();
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;5. Set the basic properties of &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;code&gt;CPDFReaderView&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;:&lt;/span&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;// Your MainActivity.java file
... // imports
public class MainActivity extends AppCompatActivity {
    // Create a handler to run the code on the main thread.
    private Handler mainThreadHandler = new Handler(Looper.getMainLooper());
...
    if (error == CPDFDocument.PDFDocumentError.PDFDocumentErrorSuccess) {
        // The document is opened successfully and data can be parsed and manipulated.
        mainThreadHandler.post(() -&amp;gt; {
            // Set the document content for UI.
            readerView.setPDFDocument(document);
        });
    } else {
        // The PDF file failed to open. You can refer to the API file for specific error
    }
...
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;6. Your code may resemble the following at this stage: &lt;/span&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;// Your MainActivity.java file

... // imports

public class MainActivity extends AppCompatActivity {
    // Create a handler to run the code on the main thread.
    private Handler mainThreadHandler = new Handler(Looper.getMainLooper());
    // Copy the PDF file from the assets folder to the cache folder.
    private void copyPdfFromAssetsToCache(String fileName) {
        try {
            InputStream inputStream = getAssets().open(fileName);
            File outputFile = new File(getCacheDir(), fileName);
            FileOutputStream outputStream = new FileOutputStream(outputFile);

            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }

            inputStream.close();
            outputStream.flush();
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        CPDFReaderView readerView = findViewById(R.id.readerview);

        //Create a document object.
        CPDFDocument document = new CPDFDocument(this);

        new Thread(() -&amp;gt; {
            String fileName = "Quick Start Guide.pdf";
            copyPdfFromAssetsToCache(fileName);

            File file = new File(getCacheDir(), fileName);
            String filePath = file.getAbsolutePath();

            //Open document.
            CPDFDocument.PDFDocumentError error = document.open(filePath);
            if (error == CPDFDocument.PDFDocumentError.PDFDocumentErrorPassword) {
                //The document is encrypted and requires a password to open.
                error = document.open(filePath, "password");
            }

            if (error == CPDFDocument.PDFDocumentError.PDFDocumentErrorSuccess) {
                //The document is opened successfully and data can be parsed and manipulated.
                mainThreadHandler.post(() -&amp;gt; {
                    //Set the document to the reader view.
                    readerView.setPDFDocument(document);
                });
            } else {
                //The PDF file failed to open. You can refer to the API file for specific error
            }
        }).start();
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hycQGcrG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nc20zk6blm5n1xzunmlj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hycQGcrG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nc20zk6blm5n1xzunmlj.png" alt="Image description" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;7. Run the application.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gdGF6cj4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644099ba86073.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gdGF6cj4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://compdf.oss-us-east-1.aliyuncs.com/blog/files/2023-04/644099ba86073.png" alt="demo" width="539" height="1155"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;Now, with the help of ComPDFKit, you can get a simple application to display a PDF file.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;h2&gt;&lt;strong&gt;&lt;span&gt;Troubleshooting&lt;/span&gt;&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;1. Unable to Open the PDF Files &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;The license we provide to you is tied to your application ID, so ensure that the license acquired matches your application ID.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;&lt;span&gt;2. Other Problems&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;If you meet some other problems when integrating our ComPDFKit PDF SDK for Android, feel free to &lt;span&gt;&lt;a href="https://www.compdf.com/contact-us" rel="noopener"&gt;contact&lt;/a&gt;&lt;/span&gt; ComPDFKit team.&lt;/span&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>PDF SDK Product: ComPDFKit</title>
      <dc:creator>Youna</dc:creator>
      <pubDate>Tue, 20 Jun 2023 05:31:53 +0000</pubDate>
      <link>https://dev.to/youna12345/pdf-sdk-product-compdfkit-35bn</link>
      <guid>https://dev.to/youna12345/pdf-sdk-product-compdfkit-35bn</guid>
      <description>&lt;p&gt;PDF Technologies has focused on PDF for years. The PDF solution ComPDFKit includes PDF SDK, Conversion SDK, Web Viewer, API Tools, Free Online Converter, and Document AI. We can also provide Software, SDK, and API solutions for industries like education, government, Construction, Aviation, etc.&lt;/p&gt;

&lt;p&gt;ComPDFKit is the SDK and API product we provided that allows developers or companies to integrate PDF editing, annotating, converting, form filling, digital signing, comparing, measuring, and redacting into any device.&lt;/p&gt;

&lt;p&gt;- Free Trial: &lt;a href="https://www.compdf.com/contact-sales"&gt;https://www.compdf.com/contact-sales&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Contact:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.compdf.com/?utm_source=platform_article_dev.to&amp;amp;utm_medium=platform_article_dev.to&amp;amp;utm_campaign=outer_chain"&gt;Website EN&lt;/a&gt;: &lt;a href="https://www.compdf.com/"&gt;https://www.compdf.com/&lt;/a&gt;&lt;br&gt;
Website CN: &lt;a href="https://www.compdf.com/zh-cn"&gt;https://www.compdf.com/zh-cn&lt;/a&gt;&lt;br&gt;
Free Trial: &lt;a href="https://www.compdf.com/contact-sales"&gt;https://www.compdf.com/contact-sales&lt;/a&gt;&lt;br&gt;
Linkedin: &lt;a href="https://www.linkedin.com/company/pdf-technologies-pte-ltd/"&gt;https://www.linkedin.com/company/pdf-technologies-pte-ltd/&lt;/a&gt;&lt;br&gt;
Twitter: &lt;a href="https://twitter.com/compdfkit"&gt;https://twitter.com/compdfkit&lt;/a&gt;&lt;br&gt;
Facebook: &lt;a href="https://www.facebook.com/profile.php?id=100085132077341"&gt;https://www.facebook.com/profile.php?id=100085132077341&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Solutions:
&lt;/h2&gt;

&lt;p&gt;- Solutions for Aviation: &lt;a href="https://www.compdf.com/solutions-aviation-industry"&gt;https://www.compdf.com/solutions-aviation-industry&lt;/a&gt;&lt;br&gt;
- Solutions for Education: &lt;a href="https://www.compdf.com/solutions-education-industry"&gt;https://www.compdf.com/solutions-education-industry&lt;/a&gt;&lt;br&gt;
- Solutions for Government: &lt;a href="https://www.compdf.com/solutions-government-industry"&gt;https://www.compdf.com/solutions-government-industry&lt;/a&gt;&lt;br&gt;
- Solutions for Construction: &lt;a href="https://www.compdf.com/solutions-construction-industry"&gt;https://www.compdf.com/solutions-construction-industry&lt;/a&gt;&lt;/p&gt;

&lt;p&gt; &lt;br&gt;
 &lt;/p&gt;

&lt;h2&gt;
  
  
  ComPDFKit Products Include:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ComPDFKit API:&lt;/strong&gt; Make API requests and streamline your workflows with secure and reliable PDF API. It's easy to integrate PDF editing, PDF conversion, watermark, OCR, and more features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ComPDFKit SDK:&lt;/strong&gt; ﻿ComPDFKit allows companies, organizations, small businesses, and developers to integrate viewing, annotating, editing, converting (PDF to/from Office, Images, HTML, RTF, CSV, PDF/A, etc.), filling, encrypting, merging, comparing, redacting, OCR, and signing PDF documents in their applications or products.﻿&lt;/p&gt;

&lt;h3&gt;
  
  
  We Can Provide:﻿﻿
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt; First-rate PDF SDK Solutions:&lt;br&gt;
Generate the functions of creating, modifying, converting, merging, and splitting PDF files with Objective-C, C#, C++, Swift, Kotlin, JavaScript, and Java PDF libraries in your applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt; Advanced PDF Conversion SDK:&lt;br&gt;
High-quality PDF Conversion SDK supports converting PDF from or to MS Office (Word, PowerPoint, Excel) and other formats like HTML, Text, CSV, RTF, PDF/A, Images, and more.&lt;br&gt;
 &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt; ComPDFKit API Tools:&lt;br&gt;
ComPDFKit API allows you efficiently process PDF documents. Fast and easy integration enables you to reduce development and support costs. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>pdf</category>
      <category>sdk</category>
      <category>conversion</category>
      <category>api</category>
    </item>
  </channel>
</rss>
