diff --git a/includes/webform2pdf.download.inc b/includes/webform2pdf.download.inc
index 3eadd0e..6bdd6a0 100644
--- a/includes/webform2pdf.download.inc
+++ b/includes/webform2pdf.download.inc
@@ -186,3 +186,19 @@ function webform2pdf_url_decode($url) {
   }
   drupal_not_found();
 } // function webform2pdf_url_encode()
+
+/**
+ * Frontend download callback
+ */
+function webform2pdf_submission_download_pdf_site($node, $sid) {
+  if (!is_numeric($sid)) {
+    drupal_not_found();
+  }
+  //check access to own
+  if(!empty($_SESSION['webform2pdf'][ip_address()]['sids']) && in_array($sid,$_SESSION['webform2pdf'][ip_address()]['sids']) ) {
+    if($submission = webform_get_submission($node->nid, $sid)) {
+      return webform2pdf_submission_download_pdf($node, $submission,'I');
+    }
+  }
+  drupal_access_denied();
+}
diff --git a/includes/webform2pdf.settings.inc b/includes/webform2pdf.settings.inc
index 608bede..4ec017e 100644
--- a/includes/webform2pdf.settings.inc
+++ b/includes/webform2pdf.settings.inc
@@ -25,6 +25,20 @@ function webform2pdf_admin_settings($form, &$form_state) {
     '#default_value' => $default['pdf_send_email'],
   );
 
+  // download settings
+  $form['base']['pdf_download_show'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Display download link.'),
+    '#description' => t('Display download link for download PDF file after form submit. Possibel only if in "Form settings" selected "Confirmation page" for redirect'),
+    '#default_value' => $default['pdf_download_show'],
+  );
+  $form['base']['pdf_download_title'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Title for download link.'),
+    '#default_value' => $default['pdf_download_title'],
+    '#maxlength' => 255,
+  );
+
   $form['base']['page_format'] = array(
     '#type' => 'select',
     '#title' => t('Paper size'),
@@ -587,6 +601,33 @@ function webform2pdf_edit_form($form, &$form_state, $node) {
     ),
   );
 
+  // download settings
+  $form['download'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('User download settings'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+    '#states' => array(
+      'visible' => array(
+        'input[name="enabled"]' => array('checked' => TRUE),
+      ),
+    ),
+  );
+
+  $form['download']['pdf_download_show'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Display download link.'),
+    '#description' => t('Display download link for download PDF file after form submit. Possibel only if in "Form settings" selected "Confirmation page" for redirect'),
+    '#default_value' => $default['pdf_download_show'],
+  );
+
+  $form['download']['pdf_download_title'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Title for download link.'),
+    '#default_value' => $default['pdf_download_title'],
+    '#maxlength' => 255,
+  );
+
   // E-mail settings
   $form['email'] = array(
     '#type' => 'fieldset',
@@ -1036,6 +1077,8 @@ function webform2pdf_edit_form_submit($form, &$form_state) {
     $save['f_txt'] = $form_state['values']['f_txt'];
     $save['p_body'] = $form_state['values']['p_body']['value'];
     $save['format'] = $form_state['values']['p_body']['format'];
+    $save['pdf_download_show'] = $form_state['values']['pdf_download_show'];
+    $save['pdf_download_title'] = $form_state['values']['pdf_download_title'];
 
     // First enabled
     if (isset($form_state['values']['new'])) {
@@ -1082,6 +1125,8 @@ function webform2pdf_edit_form_submit($form, &$form_state) {
             'f_txt' => $save['f_txt'],
             'p_body' => $save['p_body'],
             'format' => $save['format'],
+            'pdf_download_show' => $save['pdf_download_show'],
+            'pdf_download_title' => $save['pdf_download_title'],
           ))
           ->execute();
       }
@@ -1131,6 +1176,8 @@ function webform2pdf_edit_form_submit($form, &$form_state) {
     $save['f_txt'] = $webform2pdf_default['f_txt'];
     $save['p_body'] = $webform2pdf_default['p_body'];
     $save['format'] = $webform2pdf_default['format'];
+    $save['pdf_download_show'] = $webform2pdf_default['pdf_download_show'];
+    $save['pdf_download_title'] = $webform2pdf_default['pdf_download_title'];
 
     // Image file deleted.
     foreach (array('h_left_logo', 'h_right_logo', 'f_left_logo', 'f_right_logo') as $logo) {
@@ -1168,6 +1215,8 @@ function webform2pdf_edit_form_submit($form, &$form_state) {
         'f_txt' => $save['f_txt'],
         'p_body' => $save['p_body'],
         'format' => $save['format'],
+        'pdf_download_show' => $save['pdf_download_show'],
+        'pdf_download_title' => $save['pdf_download_title'],
       ))
       ->condition('nid', $form_state['values']['nid'], '=')
       ->execute();
diff --git a/webform2pdf.install b/webform2pdf.install
index 83165e1..71f4034 100644
--- a/webform2pdf.install
+++ b/webform2pdf.install
@@ -19,6 +19,7 @@ function webform2pdf_install() {
     'h_txt' => '', 'f_txt' => '', 'p_body' => '%email_values', 'format' => 'filtered_html',
     'h_left_logo_size' => '270x205', 'h_right_logo_size' => '270x205',
     'f_left_logo_size' => '270x56', 'f_right_logo_size' => '270x56',
+    'pdf_download_show'=> 0, 'pdf_download_title' => 'Download PDF',
   ));
 }
 
@@ -237,6 +238,23 @@ function webform2pdf_schema() {
         'default' => '',
         'description' => 'Text input format type.',
       ),
+
+      'pdf_download_show'=>array(
+        'description' => 'Whether display the download link.',
+        'type' => 'int',
+        'size' => 'tiny',
+        'unsigned' => TRUE,
+        'not null' => TRUE,
+        'default' => 0,
+      ),
+
+      'pdf_download_title' => array(
+        'type' => 'varchar',
+        'length' => 255,
+        'not null' => TRUE,
+        'default' => 'Download PDF',
+        'description' => 'Title for download link.',
+      ),
     ),
     'primary key' => array('nid'),
   );
diff --git a/webform2pdf.module b/webform2pdf.module
index a8f9f7c..aefbd1f 100644
--- a/webform2pdf.module
+++ b/webform2pdf.module
@@ -58,6 +58,15 @@ function webform2pdf_menu() {
     'type' => MENU_LOCAL_TASK,
   );
 
+  $items['webform2pdf/%webform_menu/%/download'] = array(
+    'title' => 'Download PDF',
+    'page callback' => 'webform2pdf_submission_download_pdf_site',
+    'page arguments' => array(1, 2),
+    'access callback' => 'node_access',
+    'access arguments' => array('view', 1),
+    'file' => 'includes/webform2pdf.download.inc',
+  );
+
   $items['admin/config/content/webform2pdf'] = array(
     'title' => 'Webform to PDF',
     'page callback' => 'drupal_get_form',
@@ -542,6 +551,7 @@ function _webform2pdf_filter_values($string, $node, $submission) {
       }
     }
   }
+
   drupal_alter('webform2pdf_tokens', $tokens, $node, $submission);
 
   return strtr($string, $tokens);
@@ -637,3 +647,42 @@ function webform2pdf_url_encode($nid, $sid, $encode = TRUE) {
   }
   return $url;
 } // function webform2pdf_url_encode()
+
+/**
+ * hook_form_FORM_ID_alter()
+ */
+function webform2pdf_form_webform_client_form_alter(&$form, &$form_state) {
+  //check whether we need show link
+  $webform2pdf = _webform2pdf_get_template($form['#node']->nid);
+  if ($webform2pdf['pdf_download_show']){
+    //attach submit function to form
+    $form['#submit'][] = 'webform2pdf_client_form_submit';
+    //save setting in to $form_state
+    //$form_state['webform2pdf'] = $webform2pdf;
+  }
+}
+
+/**
+ * function called when webform_client_form submited
+ * look: webform2pdf_form_webform_client_form_alter()
+ */
+function webform2pdf_client_form_submit(&$form, &$form_state){
+  if ($form_state['webform_completed'] && !empty($form_state['values']['details']['sid'])){
+    drupal_session_start();
+    $_SESSION['webform2pdf'][ip_address()]['sids'][] = $form_state['values']['details']['sid'];
+  }
+}
+
+function webform2pdf_preprocess_webform_confirmation(&$vars) {
+  //check whether we need show link
+  $webform2pdf = _webform2pdf_get_template($vars['node']->nid);
+  if ($webform2pdf['pdf_download_show']){
+    //build link
+    //$path = webform2pdf_url_encode($vars['node']->nid, $vars['sid'], false);
+    $path = 'webform2pdf/'.$vars['node']->nid.'/'.$vars['sid'].'/download';
+    $title = empty($webform2pdf['pdf_download_title'])?t('Download PDF'):$webform2pdf['pdf_download_title'];
+    $link = '<div class="download-link">'.l($title, $path, array( 'attributes' => array('target'=>'_blank','class' =>array('download-pdf')) )).'</div>';
+    //add link to message
+    $vars['confirmation_message'] = !empty($vars['confirmation_message']) ? $vars['confirmation_message'].$link : $link;
+  }
+}
