# زبان های اسکریپتی > Classic ASP >  خروجی پی دی اف فارسی pdf arabic or persian

## _elhfarzan

پی دی اف به زبان های اسکریپتی آن هم خروجی برای فارسی زبان ها یا عرب ها همیشه معضل بوده
دو تا فایل میزارم اینجا که از کتابخانه jspdf  کمک گرفتم
فایل های  js  رو خودتون با یه سرچ ساده پیدا کنید

فرم اول :
یک فرم اچ تی ام ال را در ابتدا تبدیل به عکس میکنیم و base64  ان را میگیرم ارسال میکنیم به فرم دوم


```
<!DOCTYPE html><html dir="rtl" >
<head>    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />    <title>تبدیل PDF</title>    <script language="javascript" type="text/javascript" src="html2canvas.js"></script>    <script language="javascript" type="text/javascript" src="jquery.min.js"></script>    <script type="text/javascript">    	function ConvertNumberToPersion() {	        persian = { 0: '۰', 1: '۱', 2: '۲', 3: '۳', 4: '۴', 5: '۵', 6: '۶', 7: '۷', 8: '۸', 9: '۹' };	        function traverse(el) {	            if (el.nodeType == 3) {	                var list = el.data.match(/[0-9]/g);	                if (list != null && list.length != 0) {	                    for (var i = 0; i < list.length; i++)	                        el.data = el.data.replace(list[i], persian
[list[i]]);	                }	            }	            for (var i = 0; i < el.childNodes.length; i++) {	                traverse(el.childNodes[i]);	            }	        }	        traverse(document.body);	    }
    </script>	<style type="text/css" >		body {		    font-family: tahoma;		    text-align: right;		    direction: rtl;		}				.widget {		    display: inline-block;		    background-color: white;		    width :790px;		    height :1090px;			border:1px solid #ececec;			padding:3px;		}
	</style></head>
<body onload="ConvertNumberToPersion();" ><input type="button" id="btnSave" value="تبدیل به Pdf"/>
<p><!-- متن یا فرم مورد نظر در این اسپن گزاشته شود --> </p>		<span id="widget" class="widget" >	    <div>      <div>به نام خدا</div>      <p>سلام</p>      <table border="1" >      	<tr><td>من هنوز هستم</td></tr>      	<tr><td>سلام بر همه</td></tr>      	<tr><td>درووود خدا بر تو باد</td></tr>      	<tr><td>من نیز همچنان ساعت 2 ظهر  روز پنجشنبه عین آدم های بیکار در حال کد نویسی</td></tr>      </table>    </div>    </span>

<form method="POST" action="HtmlToPdf2.asp" style="display:none;" >				<input type="text" id="bas" name="bas" >		<input type="submit" value="هدایت به صفحه دانلود" id="MyClick" ></form>	
</body><script type="text/javascript">$(function() { 	    $("#btnSave").click(function() {         html2canvas($("#widget"), {            onrendered: function(canvas) {                theCanvas = canvas;                //document.body.appendChild(canvas);                document.getElementById("bas").value=canvas.toDataURL('image/jpeg');                document.getElementById("MyClick").click();           }        });    });}); </script></html>
```

----------


## _elhfarzan

فرم دوم :
base64  گرفته شده در صفحه قبل را میگیریم و با کمک از کتابخانه jspdf  تبدیل به base64 pdf  میکنیم سپس  ذخیره 
البته در ie ورژن پایین خروجی نهایی خوب جواب نمیده
<!DOCTYPE html>
<html>


<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title>دانلود فایل PDF</title>
	<script type="text/javascript" src="jspdf.debug.js" ></script>
</head>


<body  onload=" ConvertToPdf()" >
	
   <center style="font-family:tahoma" > 
   		<br /><br />
   		<b><a id="dwnldLnk" download='tostas.pdf' href=""  > >> Pdf Download  << </a> </b>
   		<br /><br /><h3>
   		در صورتی که فایل پی دی اف بصورت اتوماتیک دانلود نشد ، بروی لینک بالا کلیک نمایید   
   		</h3>
   		<br /><br />
   		<img src="<%=Request("bas")%>" id="canvas" >
	</center>
	
</body>
<script type="text/javascript">


	function ConvertToPdf(){	
				var canvas=document.getElementById("canvas");
                //var doc = new jsPDF('p', 'pt', 'a4', false);
                var doc = new jsPDF('p', 'pt', [ 800,  1100]);//سایز پی دی اف اینجا مشخص میشود            
                doc.addImage(canvas.src, 'JPEG', 1, 1, canvas.width , canvas.height );
                document.getElementById("dwnldLnk").href=doc.outpu  t('datauristring');                
                //IEWorker(doc.output('datauristring')); 
                document.getElementById("dwnldLnk").click();
   }
	
</script>
</html>

----------

