API Microsoft Word PHP

Theo câu trả lời của Ivan Krechetov, đây là một chức năng trộn thư (thực ra chỉ là thay thế văn bản đơn giản) cho docx và odt mà không cần thêm thư viện

function mailMerge($templateFile, $newFile, $row)
{
  if (!copy($templateFile, $newFile))  // make a duplicate so we dont overwrite the template
    return false; // could not duplicate template
  $zip = new ZipArchive();
  if ($zip->open($newFile, ZIPARCHIVE::CHECKCONS) !== TRUE)
    return false; // probably not a docx file
  $file = substr($templateFile, -4) == '.odt' ? 'content.xml' : 'word/document.xml';
  $data = $zip->getFromName($file);
  foreach ($row as $key => $value)
    $data = str_replace($key, $value, $data);
  $zip->deleteName($file);
  $zip->addFromString($file, $data);
  $zip->close();
  return true;
}

Điều này sẽ thay thế [Person Name] bằng Mina và [Person Last Name] bằng Mooo

$replacements = array('[Person Name]' => 'Mina', '[Person Last Name]' => 'Mooo');
$newFile = tempnam_sfx(sys_get_temp_dir(), '.dat');
$templateName = 'personinfo.docx';
if (mailMerge($templateName, $newFile, $replacements))
{
  header('Content-type: application/msword');
  header('Content-Disposition: attachment; filename=' . $templateName);
  header('Accept-Ranges: bytes');
  header('Content-Length: '. filesize($file));
  readfile($newFile);
  unlink($newFile);
}

Coi chừng chức năng này có thể làm hỏng tài liệu nếu chuỗi cần thay thế quá chung chung. Cố gắng sử dụng các chuỗi thay thế dài dòng như [Person Name]

Không, chúng tôi không nói về việc sử dụng PHP để dọn dẹp văn phòng của bạn. Trong bài viết này, chúng tôi chia sẻ một số thư viện PHP để xử lý một số tài liệu Microsoft Office, cụ thể là Microsoft Word, Microsoft Excel và Microsoft PowerPoint

Phần mềm soạn thảo văn bản

PHPWord - Một thư viện để làm việc với các tài liệu Microsoft Word. PHPWord là một thư viện được viết bằng PHP thuần túy cung cấp một tập hợp các lớp để ghi và đọc từ các định dạng tệp tài liệu khác nhau. Phiên bản hiện tại của PHPWord hỗ trợ Microsoft Office Open XML (OOXML hoặc OpenXML), Định dạng Tài liệu Mở OASIS cho Ứng dụng Office (OpenDocument hoặc ODF), Định dạng Văn bản có Định dạng (RTF), HTML và PDF

Microsoft Powerpoint

PHPPowerPoint - Một thư viện PHP thuần túy để viết các tệp bản trình bày. PHPPowerPoint là một thư viện được viết bằng PHP thuần cung cấp một tập hợp các lớp để ghi vào các định dạng tệp bản trình bày khác nhau, ví dụ:. e. Microsoft Office Open XML (OOXML hoặc OpenXML) hoặc Định dạng Tài liệu Mở OASIS cho Ứng dụng Office (OpenDocument hoặc ODF)

Microsoft Excel

PHPExcel - Một thư viện PHP thuần túy để đọc và ghi các tệp bảng tính. PHPExcel là một thư viện được viết bằng PHP thuần túy và cung cấp một tập hợp các lớp cho phép bạn ghi và đọc từ các định dạng tệp bảng tính khác nhau, như Excel (BIFF). xls, Excel 2007 (OfficeOpenXML). xlsx, CSV, Libre/OpenOffice Calc. ods, Gnumeric, PDF, HTML,. Dự án này được xây dựng dựa trên tiêu chuẩn OpenXML của Microsoft và PHP

ExcelAnt - Thư viện thao tác Excel đơn giản mà mạnh mẽ cho PHP 5. 4+. ExcelAnt là một thư viện thao tác Excel cho PHP 5. 4. Nó hiện đang hoạt động trên PHPExcel

Csv - Thư viện thao tác dữ liệu CSV. Csv là một thư viện đơn giản để dễ dàng phân tích cú pháp, viết và lọc CSV trong PHP. Mục tiêu của thư viện là mạnh mẽ trong khi vẫn nhẹ, bằng cách sử dụng các lớp gốc PHP bất cứ khi nào có thể

Kết thúc

Hy vọng rằng hướng dẫn đơn giản này đã giúp bạn phát triển. Nếu bạn thích bài đăng của chúng tôi, vui lòng theo dõi chúng tôi trên Twitter và giúp truyền bá thông tin. Chúng tôi cần sự hỗ trợ của bạn để tiếp tục. Chúng tôi đã bỏ lỡ bất cứ điều gì?

Để tạo tài liệu từ bằng PHPWord, bạn cần cài đặt các tài nguyên sau trong hệ điều hành của mình

  • PHP phiên bản 5. 3. 3+
  • nhà soạn nhạc
  • Tiện ích mở rộng trình phân tích cú pháp XML (Tiện ích mở rộng này được bật theo mặc định)
  • Thành phần Zend Escaper Cài đặt nó bằng trình soạn thảo yêu cầu zendframework/zend-escaper

Tạo tài liệu Word bằng PHPWord

PHPWord cho phép các nhà phát triển tạo Tài liệu Word mới (DOCX) từ đầu. Nó cho phép bạn thêm đoạn văn mới, tiêu đề, văn bản, hình ảnh, siêu liên kết, biểu đồ và hơn thế nữa. Tạo một tài liệu word rất đơn giản, bạn cần tạo một tài liệu mới bằng phương thức PhpWord()

Tạo từ trong PHP

  1. Tạo văn bản word bằng PhpWord
  2. Thêm phần trong tài liệu
  3. Thêm văn bản vào phần
  4. Lưu tài liệu

Tạo một tài liệu Word - PHP

addSection();
// Add Text element to the Section
$section->addText(
  'File Format Developer Guide - '
  . 'Learn about computer files that you come across in '
  . 'your daily work at: www.fileformat.com'
);

// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('HelloWorld.docx');
  

Định cấu hình cài đặt tài liệu một cách dễ dàng

Bạn có thể thực hiện các cài đặt khác nhau của tài liệu. Độ phóng đại mặc định cho tài liệu là 100% nhưng bạn có thể thay đổi nó thành một số giá trị khác. Đối với tài liệu hai mặt, e. g. tạp chí, bạn có thể thiết lập các trang đối diện bằng cách phản chiếu lề trang. Bạn có thể tinh chỉnh trạng thái tùy chọn tự động kiểm tra lỗi ngữ pháp hoặc lỗi chính tả

Tính năng theo dõi sửa đổi tài liệu cũng có sẵn. PHPWord có thể được cấu hình để hoạt động với các ngôn ngữ Latinh, ngôn ngữ Đông Á cũng như các ngôn ngữ Phức hợp (Hai chiều). Bạn có thể bảo vệ tài liệu hoặc một phần của nó bằng mật khẩu

Có rất nhiều tính năng khác mà PHPWord cho phép bạn định cấu hình cho tài liệu, một số trong số đó bao gồm thông tin tài liệu, đơn vị đo lường, gạch nối và tự động tính toán lại các trường tài liệu bất cứ khi nào tài liệu được mở

Đặt thuộc tính DOCX - PHP

getDocInfo();
$properties->setCreator('Ali Ahmed');
$properties->setCompany('File Format');
$properties->setTitle('PHPWord');
$properties->setDescription('File Format Developer Guide');
$properties->setCategory('My category');
$properties->setLastModifiedBy('My name');
$properties->setCreated(mktime(0, 0, 0, 3, 12, 2019));
$properties->setModified(mktime(0, 0, 0, 3, 14, 2019));
$properties->setSubject('PHPWord');

// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('DocumentProperties.docx');
  

Bộ chứa để sắp xếp các phần tử tài liệu

PHPWord có các đối tượng được gọi là thùng chứa, chứa các thành phần khác nhau (bảng, văn bản, v.v.) của tài liệu. Có 3 thùng chứa chính; . Ngoài ra, có 3 yếu tố có thể đóng vai trò là thùng chứa;

Tất cả các yếu tố hiển thị của tài liệu cần được đặt bên trong một phần. Bạn có thể gán số trang, số dòng, thay đổi bố cục thành nhiều cột và tạo đầu trang/chân trang

Thêm vùng chứa tiêu đề

addSection();
// Add Header
$header = $section->addHeader();
$header->addImage('word-processing-image.png');
// Save document
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('Container.docx');

Bảo vệ tài liệu Word qua PHPWord API

Luôn luôn khôn ngoan để bảo vệ hoặc bảo mật các tài liệu quan trọng của bạn bao gồm thông tin nhạy cảm. Thư viện PHPWord nguồn mở cho phép các nhà phát triển Phần mềm bảo vệ tài liệu Word của họ bằng cách cung cấp một mật khẩu duy nhất bên trong các ứng dụng PHP của họ. Tính năng bảo vệ sẽ hoạt động như một biện pháp bảo vệ, ngăn chặn truy cập trái phép hoặc thay đổi tài liệu Word

Có API cho Microsoft Word không?

Được giới thiệu với Office 2016, API Word JavaScript cung cấp các đối tượng được nhập mạnh mà bạn có thể sử dụng để truy cập các đối tượng và siêu dữ liệu trong tài liệu Word.

Làm cách nào để tạo tài liệu Word bằng PHP?

Để tạo một tài liệu Word, bạn cần tạo một đối tượng PhpWord mà sau đó bạn điền nội dung vào. $phpWord = new PhpWord(); Để tạo tệp Word của bạn từ đối tượng này, bạn cần lưu tệp bằng Word2007 Writer. $objWriter = IOFactory. createWriter($phpWord, 'Word2007'); .

Làm cách nào để chỉnh sửa tệp PHP trong Word?

$PHPWord = new PHPWord(); . This can be used to fill data in tables also.

Làm cách nào để chuyển đổi HTML sang DOCX trong PHP?

php $html = file_get_contents( $_REQUEST['fname']); . uniqid(). '. doc'; . đơn/đồng.