{"id":1090,"date":"2014-03-21T07:36:31","date_gmt":"2014-03-21T07:36:31","guid":{"rendered":"http:\/\/www.rezafaisal.net\/?p=1090"},"modified":"2014-03-21T07:36:31","modified_gmt":"2014-03-21T07:36:31","slug":"simple-pdf-to-image-converter-with-asp-net","status":"publish","type":"post","link":"http:\/\/www.rezafaisal.net\/?p=1090","title":{"rendered":"Simple PDF to Image Converter with ASP.NET"},"content":{"rendered":"<p>Pada posting ini akan dicoba menerangkan langkah demi langkah untuk membuat converer file format PDF menjadi gambar. Hal ini kadang diperlukan pada aplikasi web dapat langsung menampilkan secara langsung file yang diupload (dalam kasus ini adalah file PDF) tanpa harus meinstall plugin. Maka dibuatlah converter yang mengubah file PDF yang diupload menjadi file PNG (image), sehingga nanti jika user ingin melihat file yang sudah diupload cukup disajikan file gambar hasil dari proses convert tersebut.<\/p>\n<p>Untuk membuat converter sederhana ini digunakan library Magick.NET&#160; (<a title=\"https:\/\/magick.codeplex.com\/\" href=\"https:\/\/magick.codeplex.com\/\">https:\/\/magick.codeplex.com\/<\/a>) dan juga diperlukan Ghostscript (<a title=\"http:\/\/www.ghostscript.com\/download\/gsdnld.html\" href=\"http:\/\/www.ghostscript.com\/download\/gsdnld.html\">http:\/\/www.ghostscript.com\/download\/gsdnld.html<\/a>).<\/p>\n<p>{<strong><em>Persiapan<\/em><\/strong>}<\/p>\n<p>Langkah pertama, adalah menginstall Ghostscript dari link di atas pada komputer yang menjadi web server.<\/p>\n<p>Langkah kedua, adalah meinstall library Magick.NET. Cara paling gampang untuk ini adalah via fitur Manage NuGet Package. Pada window Manage NuGet Package, masukkan magick pada kolom pencarian dan akan dapat dilihat daftar seperti berikut ini.<\/p>\n<p><a href=\"http:\/\/www.rezafaisal.net\/wp-content\/uploads\/2014\/03\/blog14.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"blog1\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"blog1\" src=\"http:\/\/www.rezafaisal.net\/wp-content\/uploads\/2014\/03\/blog1_thumb4.jpg\" width=\"550\" height=\"367\" \/><\/a><\/p>\n<p>Pilih salah satu dari Magick.NET-Q16, kemudian klik tombol install. <\/p>\n<p>{<strong><em>Pemrograman<\/em><\/strong>}<\/p>\n<p>Selanjutnya adalah menyiapkan satu halaman Web Form seperti berikut ini.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; width: 97.5%; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; background-color: #f4f4f4\">\n<pre id=\"codeSnippet\" style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span style=\"background-color: #ffff00\">&lt;%@ Page Language=&quot;C#&quot; AutoEventWireup=&quot;true&quot; CodeFile=&quot;ContohPdfConverter.aspx.cs&quot; Inherits=&quot;Test_ContohPdfConverter&quot; %&gt;<\/span><br \/><br \/><span style=\"color: #0000ff\">&lt;!<\/span><span style=\"color: #800000\">DOCTYPE<\/span> <span style=\"color: #ff0000\">html<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><br \/><span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">html<\/span> <span style=\"color: #ff0000\">xmlns<\/span><span style=\"color: #0000ff\">=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">head<\/span> <span style=\"color: #ff0000\">runat<\/span><span style=\"color: #0000ff\">=&quot;server&quot;<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/>    <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">title<\/span><span style=\"color: #0000ff\">&gt;&lt;\/<\/span><span style=\"color: #800000\">title<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><span style=\"color: #0000ff\">&lt;\/<\/span><span style=\"color: #800000\">head<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">body<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/>    <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">form<\/span> <span style=\"color: #ff0000\">id<\/span><span style=\"color: #0000ff\">=&quot;form1&quot;<\/span> <span style=\"color: #ff0000\">runat<\/span><span style=\"color: #0000ff\">=&quot;server&quot;<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/>    <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">div<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/>        <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">asp:FileUpload<\/span> <span style=\"color: #ff0000\">ID<\/span><span style=\"color: #0000ff\">=&quot;FileUpload_FilePdf&quot;<\/span> <span style=\"color: #ff0000\">runat<\/span><span style=\"color: #0000ff\">=&quot;server&quot;<\/span> <span style=\"color: #0000ff\">\/&gt;<\/span><br \/>        <span style=\"color: #0000ff\">&lt;<\/span><span style=\"color: #800000\">asp:Button<\/span> <span style=\"color: #ff0000\">ID<\/span><span style=\"color: #0000ff\">=&quot;Button_Convert&quot;<\/span> <span style=\"color: #ff0000\">OnClick<\/span><span style=\"color: #0000ff\">=&quot;Button_Convert_Click&quot;<\/span> <span style=\"color: #ff0000\">runat<\/span><span style=\"color: #0000ff\">=&quot;server&quot;<\/span> <span style=\"color: #ff0000\">Text<\/span><span style=\"color: #0000ff\">=&quot;PDF to JPG&quot;<\/span> <span style=\"color: #0000ff\">\/&gt;<\/span><br \/>    <span style=\"color: #0000ff\">&lt;\/<\/span><span style=\"color: #800000\">div<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/>    <span style=\"color: #0000ff\">&lt;\/<\/span><span style=\"color: #800000\">form<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><span style=\"color: #0000ff\">&lt;\/<\/span><span style=\"color: #800000\">body<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><span style=\"color: #0000ff\">&lt;\/<\/span><span style=\"color: #800000\">html<\/span><span style=\"color: #0000ff\">&gt;<\/span><br \/><\/pre>\n<p><\/div>\n<p>Dan berikut ini adalah isi class code behind dari file aspx tersebut :<\/p>\n<div id=\"codeSnippetWrapper\" style=\"overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; width: 97.5%; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; background-color: #f4f4f4\">\n<div id=\"codeSnippet\" style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\">\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum1\" style=\"color: #606060\">   1:<\/span> <span style=\"color: #0000ff\">using<\/span> System;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum2\" style=\"color: #606060\">   2:<\/span> <span style=\"color: #0000ff\">using<\/span> System.Collections.Generic;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum3\" style=\"color: #606060\">   3:<\/span> <span style=\"color: #0000ff\">using<\/span> System.Linq;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum4\" style=\"color: #606060\">   4:<\/span> <span style=\"color: #0000ff\">using<\/span> System.Web;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum5\" style=\"color: #606060\">   5:<\/span> <span style=\"color: #0000ff\">using<\/span> System.Web.UI;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum6\" style=\"color: #606060\">   6:<\/span> <span style=\"color: #0000ff\">using<\/span> System.Web.UI.WebControls;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum7\" style=\"color: #606060\">   7:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum8\" style=\"color: #606060\">   8:<\/span> <span style=\"color: #0000ff\">using<\/span> ImageMagick;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum9\" style=\"color: #606060\">   9:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum10\" style=\"color: #606060\">  10:<\/span> <span style=\"color: #0000ff\">public<\/span> <span style=\"color: #0000ff\">partial<\/span> <span style=\"color: #0000ff\">class<\/span> Test_ContohPdfConverter : System.Web.UI.Page<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum11\" style=\"color: #606060\">  11:<\/span> {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum12\" style=\"color: #606060\">  12:<\/span>     <span style=\"color: #0000ff\">protected<\/span> <span style=\"color: #0000ff\">void<\/span> Page_Load(<span style=\"color: #0000ff\">object<\/span> sender, EventArgs e)<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum13\" style=\"color: #606060\">  13:<\/span>     {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum14\" style=\"color: #606060\">  14:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum15\" style=\"color: #606060\">  15:<\/span>     }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum16\" style=\"color: #606060\">  16:<\/span>     <span style=\"color: #0000ff\">protected<\/span> <span style=\"color: #0000ff\">void<\/span> Button_Convert_Click(<span style=\"color: #0000ff\">object<\/span> sender, EventArgs e)<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum17\" style=\"color: #606060\">  17:<\/span>     {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum18\" style=\"color: #606060\">  18:<\/span>         <span style=\"color: #0000ff\">string<\/span> folderpdf = <span style=\"color: #006080\">&quot;\/Files\/Pdf\/&quot;<\/span>;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum19\" style=\"color: #606060\">  19:<\/span>         <span style=\"color: #0000ff\">string<\/span> folderpng = <span style=\"color: #006080\">&quot;\/Files\/Png\/&quot;<\/span>;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum20\" style=\"color: #606060\">  20:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum21\" style=\"color: #606060\">  21:<\/span>         <span style=\"color: #0000ff\">if<\/span> (FileUpload_FilePdf.HasFile)<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum22\" style=\"color: #606060\">  22:<\/span>         {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum23\" style=\"color: #606060\">  23:<\/span>             <span style=\"color: #0000ff\">string<\/span> filename = GetFileName(FileUpload_FilePdf.FileName);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum24\" style=\"color: #606060\">  24:<\/span>             <span style=\"color: #0000ff\">string<\/span> filepdf = Server.MapPath(<span style=\"color: #006080\">&quot;~&quot;<\/span> + folderpdf) + filename;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum25\" style=\"color: #606060\">  25:<\/span>             <span style=\"color: #0000ff\">string<\/span> filepng = Server.MapPath(<span style=\"color: #006080\">&quot;~&quot;<\/span> + folderpng) + filename + <span style=\"color: #006080\">&quot;.png&quot;<\/span>;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum26\" style=\"color: #606060\">  26:<\/span>             FileUpload_FilePdf.SaveAs(filepdf);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum27\" style=\"color: #606060\">  27:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum28\" style=\"color: #606060\">  28:<\/span>             MagickReadSettings settings = <span style=\"color: #0000ff\">new<\/span> MagickReadSettings();<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum29\" style=\"color: #606060\">  29:<\/span>             settings.Density = <span style=\"color: #0000ff\">new<\/span> MagickGeometry(100, 100);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum30\" style=\"color: #606060\">  30:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum31\" style=\"color: #606060\">  31:<\/span>             <span style=\"color: #0000ff\">using<\/span> (MagickImageCollection images = <span style=\"color: #0000ff\">new<\/span> MagickImageCollection())<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum32\" style=\"color: #606060\">  32:<\/span>             {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum33\" style=\"color: #606060\">  33:<\/span>                 images.Read(filepdf, settings);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum34\" style=\"color: #606060\">  34:<\/span>                 MagickImage horizontal = images.AppendHorizontally();<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum35\" style=\"color: #606060\">  35:<\/span>                 horizontal.Write(filepng);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum36\" style=\"color: #606060\">  36:<\/span>             }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum37\" style=\"color: #606060\">  37:<\/span>         }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum38\" style=\"color: #606060\">  38:<\/span>     }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum39\" style=\"color: #606060\">  39:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum40\" style=\"color: #606060\">  40:<\/span>     <span style=\"color: #0000ff\">public<\/span> <span style=\"color: #0000ff\">static<\/span> <span style=\"color: #0000ff\">string<\/span> GetFileName(<span style=\"color: #0000ff\">string<\/span> filename)<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum41\" style=\"color: #606060\">  41:<\/span>     {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum42\" style=\"color: #606060\">  42:<\/span>         <span style=\"color: #0000ff\">string<\/span> prefixname = String.Empty;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum43\" style=\"color: #606060\">  43:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum44\" style=\"color: #606060\">  44:<\/span>         prefixname = DateTime.Now.ToString(<span style=\"color: #006080\">&quot;yyyyMMdd-HHmmss-&quot;<\/span>) + DateTime.Now.Millisecond.ToString();<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum45\" style=\"color: #606060\">  45:<\/span>         filename = prefixname + <span style=\"color: #006080\">&quot;-&quot;<\/span> + filename.Replace(<span style=\"color: #006080\">&quot; &quot;<\/span>, <span style=\"color: #006080\">&quot;&quot;<\/span>);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum46\" style=\"color: #606060\">  46:<\/span>&#160; <\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum47\" style=\"color: #606060\">  47:<\/span>         <span style=\"color: #0000ff\">return<\/span> filename;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum48\" style=\"color: #606060\">  48:<\/span>     }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum49\" style=\"color: #606060\">  49:<\/span> }<\/pre>\n<p><!--CRLF--><\/div>\n<\/div>\n<p>Untuk menggunakan library Magick.NET maka pada kode perlu ditambahkan baris seperti pada baris ke-8.<\/p>\n<p>Pada kode di atas akan mempunyai alur kerja seperti berikut :<\/p>\n<ul>\n<li>File PDF akan diupload ke folder ~\/Files\/Pdf\/ yang ada pada root folder dari aplikasi web. Nama file yang diupload akan disesuaikan dengan cara memanggil method GetFileName, dimana format nama file akan ditambahkan time stamp sebagai prefix.<\/li>\n<li>File image akan disimpan dengan format PNG yang akan disimpan pada folder ~\/Files\/Png\/ dengan nama sesuai dengan nama file PDF yang diupload dengan ditampkan \u201c.png\u201d di belakangnya.&#160; Sehingga jika nama file pdf yang telah diupload adalah 20140321-122246-882-garuda-bjm-sby-20140329.pdf maka nama file png yang akan disimpan adalah 20140321-122246-882-garuda-bjm-sby-20140329.pdf.png. <\/li>\n<li>Kemudian setelah file pdf sukses disimpan dilanjutkan dengan proses konversi dari PDF ke PNG dengan cara seperti yang dapat dilihat pada kode pada baris ke-28 sampai ke-38.<\/li>\n<\/ul>\n<p>Pada baris ke-28 dan ke-29 adalah untuk menentukan setting dari hasil yang diinginkan, salah satunya adalah menentukan kualitas dari output yang diinginkan. Semakin tinggi angka density tersebut maka semakin besar dimensi image (pixel widthxheight) yang dihasilkan. Kemudian dengan class MagickImageCollection akan dilakukan proses membaca file PDF seperti yang terlihat pada baris ke-33.<\/p>\n<p>Sedangkan pada baris ke-34 ditentukan bagaimana format dari output yang dihasilkan, pada contoh tersebut digunakan method AppendHorizontally yang nanti akan menghasilkan hasil yang menyamping. Artinya jika file PDF terdiri atas 3 halaman, ketiga halaman tersebut akan dibuat bersusun ke samping dari kiri ke kanan pada gambar. Jika ingin mendapatkan hasil dimana ketiga file itu tersusun dari atas ke bawah maka baris ke-34 tersebut dapat diganti menjadi seperti berikut :<\/p>\n<div id=\"codeSnippetWrapper\" style=\"overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: &#39;Courier New&#39;, courier, monospace; border-right: silver 1px solid; width: 97.5%; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; background-color: #f4f4f4\">\n<div id=\"codeSnippet\" style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\">\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum1\" style=\"color: #606060\">   1:<\/span> <span style=\"color: #0000ff\">using<\/span> (MagickImageCollection images = <span style=\"color: #0000ff\">new<\/span> MagickImageCollection())<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum2\" style=\"color: #606060\">   2:<\/span> {<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum3\" style=\"color: #606060\">   3:<\/span>     images.Read(filepdf, settings);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum4\" style=\"color: #606060\">   4:<\/span>     MagickImage horizontal = images.AppendVertically();<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum5\" style=\"color: #606060\">   5:<\/span>     horizontal.Write(filepng);<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"border-top-style: none; overflow: visible; font-size: 8pt; font-family: &#39;Courier New&#39;, courier, monospace; width: 100%; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; border-left-style: none; line-height: 12pt; padding-right: 0px; background-color: #f4f4f4\"><span id=\"lnum6\" style=\"color: #606060\">   6:<\/span> }<\/pre>\n<p><!--CRLF--><\/div>\n<\/div>\n<p>Dan yang terakhir adalah menulis hasil proses baca tadi dengan ke file seperti yang dapat dilihat pada baris ke-5 di atas.<\/p>\n<p>Selamat mencoba.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada posting ini akan dicoba menerangkan langkah demi langkah untuk membuat converer file format PDF menjadi gambar. Hal ini kadang diperlukan pada aplikasi web dapat langsung menampilkan secara langsung file yang diupload (dalam kasus ini adalah file PDF) tanpa harus&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1089,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6],"tags":[68,92,96],"class_list":["post-1090","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwaredev","tag-asp-net","tag-c","tag-vs-2013"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"http:\/\/www.rezafaisal.net\/wp-content\/uploads\/2014\/03\/blog1_thumb4.jpg","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p1sNAL-hA","_links":{"self":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts\/1090","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1090"}],"version-history":[{"count":0,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts\/1090\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/media\/1089"}],"wp:attachment":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1090"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}