PHPmailer arabic attachment name issue - php

I use dompdf to generate a PDF file, Then I send it using PHPmailer. But the issue is that the file name of the generated PDF name is not correct.
Here is the code:
//PDF from dompdf
$pdf = $dompdf->output();
//PHPmailer confiurgation
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
//PDF name
$name = 'محمد احمد علي';
$pdfName = str_replace(" ", "_", $name); //Replace spaces with _
$pdfName .= ".pdf";
//Attach PDF
$mail->AddStringAttachment($pdf, $pdfName);
The PDf name should be محمد_احمد_علي.pdf in this case. But it's _احمد_علي.pdf
I tried:
$encoding = 'base64';
$type = 'application/pdf';
$mail->AddStringAttachment($pdf, $pdfName, $encoding, $type);
Also:
$mail->Encoding = "base64";
But no success.
I don't see that there is an issue with the string name, As when I run the following code:
$name = 'محمد علي احمد';
$name = str_replace(' ', "_", $name);
echo $name . '.pdf';
I get the expected result.
How to solve this issue?
Update
I just tried:
$dompdf->stream($filename);
To download the PDF without sending it. And it's the same result, So I don't know where the issue is coming from.
New Update
In case this happens to anyone in the future.
I found out why this is happening. Dompdf is using basename() on the file name. And with my Arabic name that function makes it go wrong like that.
It's really sad how programming languages and libraries are ignoring RTL languages like Arabic.
So running this code:
echo basename('محمد احمد علي');
Would return احمد علي

Related

How to send fillable pdf (filled with pdftk) via PHPMailer?

I have a form on a website that customers fill. When user filles the form and clicks submit data is sent to a pdf(invoice) I've already created and certain spots in pdf are filled with that data. I did this using PDFTK library:
public function generate($data)
{
$filename = date("d-m-Y-His") . ".pdf";
$pdf = new Pdf('./form.pdf');
$pdf->fillForm($data)
->flatten()
->saveAs('./completed/' . $filename);
$path = './completed/' .$filename;
return $path;
}
The problem is, i dont know how to send this filled pdf via PHPMailer library, as pdf is recquired to be a string in order to work with phpmailer.
$pdf = new GeneratePDF;
$response = $pdf->generate($data);
$email = new PHPMailer();
$email->SetFrom('you#example.com', 'Your Name');
$email->Subject = 'Test';
$email->Body = 'Test';
$email->AddAddress( 'mail exmp' );
$email->AddAttachment( $response , 'NameOfFile.pdf' );
$email->Send();
And how to actually save file in cpanel server, as when i do this it doesnt work on a server.
pdf is recquired to be a string in order to work with phpmailer
This is not true. addAttachment() requires that you pass in a path to a local file on disk, so you could do:
$email->addAttachment(generate(), 'NameOfFile.pdf');
You can pass in a binary string using addStringAttachment(), but that's not what you're asking for here.

base64 image file get corrupt while uploading to php server

Similar question has been asked previously but it didn't solve my problem so i am asking here again. Actually i am uploading base64 image file to php server and i have to save it there. I tried every suggested help but nothing works for me. my code
// here is my base64 code for image
data:image/jpeg;base64,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
$src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2OTApLCBxdW... ";
// above the example of image base64 file
// and server side code in php, i have posted base64 to php
$img_part = explode(";base64,",$_POST['base64']);
$img_type_aux = explode("image/",$img_part[0]);
$ext = $img_type_aux[1];
$image_base64 = base64_decode($img_part[1]);
// i have tried all possible code like here $name = random_value+$ext
file_put_contents($name,$image_base64); // didn't work then i used str_replace
$image_base64 = str_replace(' ','+',$image_base64);
file_put_contents($name,$image_base64); // i also didn't work
$fp = fopen($name,"wb");
fwrite($fp,$image_base64); // i also didn;t work
fclose($fp);
please someone help me,
Use this function This will work.
function convertBase64toimage($image_string){
$name='test_with_new_image.jpeg';
$folderPath=$_SERVER['DOCUMENT_ROOT'] . "/test/";
$img_part = explode(";base64,",$image_string);
$img_type_aux = explode("image/",$img_part[0]);
$ext = $img_type_aux[1];
$image_base64 = base64_decode($img_part[1]);
$file = $folderPath .$name;
file_put_contents($file,$image_base64);
}
$string='data:image/jpeg;base64,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';
$a=convertBase64toimage($string);
And output of the code

Laravel add text to variable in Controller

I am sorry this might be a foolish question, but I am trying to download pdf files, and everything find just the name of pdf
my controller
$abstract = Project::find($A_ID);
$pdf = PDF::loadView('Abstracts.pdf', compact('abstract'));
return $pdf->download('abstract.pdf'); //name of the pdf
what I am trying to do is to change the ('abstract.pdf') to ($abstract->A_Title)
The issue with ($abstract->A_Title) it doesn't have .pdf extension, and I have been trying to add it with no results
use concatenation (.)operator here
for example :
$name = "title";
$extension = ".pdf";
$fileName = $name . $extenstion;
$fileName output should be title.pdf
$abstract = Project::find($A_ID);
$pdf = PDF::loadView($abstract->A_Title.'.pdf', compact('abstract'));
return $pdf->download($abstract->A_Title.'.pdf'); //name of the pdf
You can use PHP concatenation,
$abstract = Project::find($A_ID);
$pdf = PDF::loadView($abstract->A_Title.'.pdf', compact('abstract'));
return $pdf->download($abstract->A_Title.'.pdf');

getting blank pdf file attachment using phpmailer and mpdf

I'm using mPDF to generate PDF's when a button is clicked and the i save them inside a folder. I am looking for a way to add the PDF to an attachment using PHPmailer. Here is what I've tried:
$dir = $_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']);
$pdfexist = $dir."/classes/pdf/feestructure_".$student['rollno'].".pdf";
$mail = new PHPMailer;
$mail->isSMTP();
$mail->From="xyz#abc.com";
$mail->FromName="xyz";
$mail->addAddress("xyz#abc.com");
//echo $email."<br/>";
$mail->addAddress("xyz#abc.com");
$mail->addAddress("xyz#abc.com");
$mail->Subject = 'XYZ';
$pdfstring = $pdfexist;
$mail->AddStringAttachment($pdfstring, "feestructure_".$roll.".pdf", $encoding = 'base64', $type = 'application/pdf');
The size of my generated pdf is 13k but its showing 1 k in mail attachment.help me guys.
Here is the output from mpdf:
$mpdf->WriteHTML(file_get_contents("$dir/feestructure_pdf.php?rollno=$rollno"));
$pdfname="feestructure_".$rollno.".pdf";
$mpdf->Output("classes/pdf/".$pdfname,"F");
Your $pdfexists / $pdfstring variable contains a file path, not binary PDF data, so you should be using AddAttachment(), not AddstringAttachment(). AddAttachment attaches files (like your PDF), AddStringAttachment attaches strings, like what you might get back from a web call or a database.
$mail->AddAttachment($pdfstring, "feestructure_".$roll.".pdf", $encoding = 'base64', $type = 'application/pdf');

Edit .doc or .docx file using php

I have to modify the uploaded .doc or .docx file in php. I googled but i only found how to read that. I want the word file as it is and put text at the bottom of that MS Word file at run time. How is this possible anyone know please reply or give me example script.
Thanks,
I'm the developer of PHPWord. You can use the PHPWord_Template Class to open an existing DOCX File and then replace some text marks with your individual text.
Alternatively you can open the DOCX file with the ZipArchive extension and then read/write every xml File (document.xml, header.xml, footer.xml, ...) you want. This method is nothing else than the PHPWord_Template class. ;)
You can use PHPWord.
I have same requirement for Edit .doc or .docx file using php and i have find solution for it.
And i have write post on It :: http://www.onlinecode.org/update-docx-file-using-php/
if($zip_val->open($full_path) == true)
{
// In the Open XML Wordprocessing format content is stored.
// In the document.xml file located in the word directory.
$key_file_name = 'word/document.xml';
$message = $zip_val->getFromName($key_file_name);
$timestamp = date('d-M-Y H:i:s');
// this data Replace the placeholders with actual values
$message = str_replace("client_full_name", "onlinecode org", $message);
$message = str_replace("client_email_address", "ingo#onlinecode.org", $message);
$message = str_replace("date_today", $timestamp, $message);
$message = str_replace("client_website", "www.onlinecode.org", $message);
$message = str_replace("client_mobile_number", "+1999999999", $message);
//Replace the content with the new content created above.
$zip_val->addFromString($key_file_name, $message);
$zip_val->close();
}
You only replace the predefined variables.
In the following code
https://github.com/PHPOffice/PHPWord
I also did this problem in phpword using the following code
if(!file_exists('file/word.docx')){
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('demo.docx');
$templateProcessor->setValue('name', 'Akbarali');
$templateProcessor->setValue('time','13.02.2021');
$templateProcessor->setValue('month', 'January');
$templateProcessor->setValue('state','Uzbekistan');
$templateProcessor->saveAs('file/word.docx');
}
This will change the words in the demo.docx file. The new file is then saved in the word.docx file folder.
you can define variables in the form of ${name} in the demo word file.
that is, ${name}, ${time}, ${month} and ${state}
In this post we will show you How to update docx file using php, hear for How to update docx file using php we will give you demo and example for implement.
Hear we will show you how to Edit .doc or .docx file using php. Hear we use “client_full_name”, “client_email_address”, “date_today”, “client_website”, “client_mobile_number” in .doc or .docx files
$template_file_name = 'template.docx';
$rand_no = rand(111111, 999999);
$fileName = "results_" . $rand_no . ".docx";
$folder = "results_";
$full_path = $folder . '/' . $fileName;
try
{
if (!file_exists($folder))
{
mkdir($folder);
}
//Copy the Template file to the Result Directory
copy($template_file_name, $full_path);
// add calss Zip Archive
$zip_val = new ZipArchive;
//Docx file is nothing but a zip file. Open this Zip File
if($zip_val->open($full_path) == true)
{
// In the Open XML Wordprocessing format content is stored.
// In the document.xml file located in the word directory.
$key_file_name = 'word/document.xml';
$message = $zip_val->getFromName($key_file_name);
$timestamp = date('d-M-Y H:i:s');
// this data Replace the placeholders with actual values
$message = str_replace("client_full_name", "onlinecode org", $message);
$message = str_replace("client_email_address", "ingo#onlinecode", $message);
$message = str_replace("date_today", $timestamp, $message);
$message = str_replace("client_website", "www.onlinecode", $message);
$message = str_replace("client_mobile_number", "+1999999999", $message);
//Replace the content with the new content created above.
$zip_val->addFromString($key_file_name, $message);
$zip_val->close();
}
}
catch (Exception $exc)
{
$error_message = "Error creating the Word Document";
var_dump($exc);
}
Try having a look at http://www.tinybutstrong.com/ as it can create and edit Word documents, we use it in a mail merge style for generating invoices in doc and pdf.
Some of these answers dont contain the full steps so here is what ive done:
Create your word document. With in this document anything you want to replace with PHPWORD mark it like this -> ${variable_name} so for example ${value1}
$file = "docs/input/word/source.docx";
$output_file = "docs/input/word/modified.docx";
$PHPWord = new \PhpOffice\PhpWord\PhpWord();
$document = $PHPWord->loadTemplate($file);
$document->setValue('value1', 'Enter Your Text Here');
$document->saveAs($output_file);

Categories