Skip to main content

perl : viewing pdf file out of web folder

How to view a pdf file on your web page?
If the pdf file parked in a web folder like /cgi-bin/files/example.pdf, you can easily show it in a page using the following code

<embed src="/cgi-bin/files/example.pdf#toolbar=0&navpanes=1&scrollbar=0" width="100%" height="500">

so the page will show the pdf file embedded on the web page like the following















but lets say that, the pdf file is not accessible on web page, that means its parked out of web directory for the sake of security. then how to get the file viewed on the web page?

I did the following thing to achieve showing the pdf file out of web directory for testing.
  1. created a tempfile handler within web directory
    use File::Temp qw/ tempfile /;
    use File::Copy;
    use File::Basename;

    my($fh, $fname) = tempfile('TEMP_XXXX', SUFFIX => '.pdf', DIR =>'d:/Inetpub/cgi-bin/temp/');
  2. copied the file to the temp file
    copy("d:/files/example.pdf","$fname") or die "Copy failed: $!";
    $output_file = "temp/".basename($fname);

  3. embedded the temp file on the web page
    < embed src="$output_file#toolbar=0&navpanes=1&scrollbar=0" width="100%" height="500" >


Now the page shows the pdf file out of web folder. one more thing to consider on this is to remove the temp file after usage. by default, the temp file will be removed if application closed. but its better to unlink them after session ends.
this method is not preferred to show secured documents.

cheers!

Comments

Popular posts from this blog

VBScript for URL link creation

We had a need to create URL link of our project on users's desktop using a script. First stage the users had enough rights on their PC's so we included the required icon file also with the script and passed the following VBScript to users to click on it to create the desktop icon link. ' Definie shell object Set objWSHShell = WScript.CreateObject("Wscript.Shell") strDesktop = objWSHShell.SpecialFolders("Desktop") ' Copy the icon file to windows Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFileCopy = objFSO.GetFile( objWSHShell.CurrentDirectory&"\icon.ico") objFileCopy.Copy ("C:\WINDOWS\system32\") ' Define link properties and create link strShortcutName = "Log In" ' Shortcut Name - Edit for the wanted name strShortcutPath = "http://thesystem.com/Login.aspx" ' Link URL - Edit to the wanted URL strIconPath = "C:\WINDOWS\syst

Round the float

There are 3 types of rounding a float to integer is applicable in any language. we programmers will come across such situation in every project. the three types are, round to next bigger integer, with not considering the decimal value. round to the next smaller integer, with not considering the decimal value. round the float according to the value of decimal value, the real round of float number. The rounding methods depend on which scenario we need the round function. Follows the examples of php rounding methods. for the case 1, rounding to the next big integer, we use  ceil() function Example :  $rounded_value = ceil($floor_value); if rounded the following values, the results are like shown 2 = ceil(1.3) 2 = ceil(1.5) 2 = ceil(1.7) for the case 2, round to the next small integer, we could use floor() Example: $rounded_value = floor($floor_value); if rounded the following values, the results are like shown 1 = floor(1.3) 1 = floor(1.5) 1 = floor(1.7) for the case 3, round as

VBScript for compressing files in a folder and send on FTP

This is a simple vbscript compression script. works flawlessly on text files even bigger than 15GB. We have a SSIS data generation package installed on our DB server which generates huge data files for data mining operations for current year, current month. The below scripts are doing the rest; compress the files and FTP to the data mining server location.   '====================================================== ' Function : Zip datamart CSV, CTL files to local server for archive purposes. '====================================================== Function WindowsZip(sFile, sZipFile, szPath, szDate)   Set oZipShell = CreateObject("WScript.Shell")    Set oZipFSO = CreateObject("Scripting.FileSystemObject")   Set LogFile = oZipFSO.CreateTextFile(szPath & "\Logs\log_" & szDate & ".log", true)   LogFile.WriteLine("=======================================")   LogFile.WriteLine(Now & " - Com