Le contenu de cet article est de partager avec vous comment remplacer le contenu d'un modèle dans phpword et résoudre le problème des caractères chinois tronqués. Les amis dans le besoin peuvent y jeter un œil.
D'accord, téléchargez-le d'abord :
Adresse de téléchargement : https://pan.baidu.com/s/1upup2rpLTVXIdJpGi9kK6A
Mot de passe : qxsd
Manuel http://phpword.readthedocs.io /fr/latest/search.html?q=setValue&check_keywords=yes&area=default
//Utilisez Vendor pour inclure la classe PHPWord
require_once "./word/PHPWord.php";
// Initialiser l'objet PHPWord
$PHPWord = new PHPWord();
$oMember['m_real_name'] = "Test au microscope électronique";
$oMember['content'] = "Exigences du test au microscope électronique Description Microscope électronique Exigences de test Description Exigence de test au microscope électronique Description Test au microscope électronique ExigenceDescription Exigences de test au microscope électronique Décrire les exigences des tests de microscopie électroniqueDécrire les exigences des tests de microscopie électroniqueDécrire les exigences des tests de microscopie électronique
Décrire les exigences des tests de microscopie électroniqueDécrire les exigences des tests de microscopie électroniqueDécrire les exigences des tests de microscopie électroniqueDescription";
//Charger le fichier modèle
//Remplacer un contenu dans le fichier modèle Word Si vous souhaitez afficher le chinois ici, vous devez. utilisez la fonction iconv
$document->setValue('need_name', iconv('utf-8', 'GB2312//IGNORE', $oMember['m_real_name']));
$document-> ;setValue('content', iconv('utf-8', 'GB2312//IGNORE', $oMember['content']));
//Remplacez un contenu dans le fichier modèle Word, faites ne pas utiliser le chinois setValue
$document->setValue('file', "7897898998");
$filename = './word/test/m-i-'.time().'. docx';
//Enregistrer le document Word
$document->save($filename);
//Télécharger le document Word
//header("Emplacement : ".$filename)
Comment écrire des variables dans des fichiers modèles
content =》 ${content} N'oubliez pas de ne pas ajouter de style à cette variable sinon elle sera affectée
Méthode Word/Base.php _WriteTextStyle() ci-dessous
$objWriter->writeAttribute('w:eastAsia', $font) ; //Modifier et ajouter if ($font != 'Arial') {
$objWriter->startElement('w:rFonts');
$objWriter->writeAttribute('w:ascii', $font);
$objWriter->writeAttribute('w :hAnsi', $font);
$objWriter ->writeAttribute('w:cs', $font);
$objWriter->endElement();
}
PHPWord/Template.php setValue()Méthodes:
if(!is_array($replace)) {// $replace = utf8_encode($replace); $replace = iconv( 'gbk','utf- 8', $replace); //Ajouter
}
D'accord, maintenant il n'y a plus de problème
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!