Word sang PHP

Như tôi đã chỉ ra trong bài viết trước của mình, PHP và WMI – Tìm hiểu sâu về Windows với PHP, chúng ta đang sống trong một thế giới mà các nhà phát triển PHP thỉnh thoảng phải xử lý hệ điều hành Windows. WMI [Giao diện quản lý Windows] là một trong những trường hợp như vậy và Microsoft Office Interop là một trường hợp khác – thậm chí còn quan trọng hơn và được sử dụng thường xuyên hơn

Trong bài viết này, chúng ta sẽ thấy một sự tích hợp đơn giản giữa Word và PHP. để tạo tài liệu Microsoft Word dựa trên các đầu vào ở dạng HTML bằng PHP [và phần mở rộng Interop của nó]

chuẩn bị

Trước tiên, hãy đảm bảo rằng môi trường WAMP điển hình đã được thiết lập trong máy phát triển Windows của bạn. Vì Interop hoàn toàn là một tính năng của Windows nên chúng tôi sẽ phải lưu trữ Apache và PHP trong Windows. Trong trường hợp này, tôi đang sử dụng EasyPHP 14. 1, khá dễ cài đặt và cấu hình

Tiếp theo, chúng ta sẽ phải cài đặt Microsoft Office. Phiên bản của nó không quá quan trọng. Tôi đang sử dụng Office 2013 Pro nhưng mọi phiên bản Office sau 2007 đều hoạt động

Sau đó, chúng tôi phải đảm bảo các thư viện để phát triển ứng dụng Interop [gọi là PIA, Primary Interop Assemblies] đã được cài đặt. Để xác định điều này, chúng ta có thể mở Windows Explorer và điều hướng đến.

$assembly = 'Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.Office.Interop.Word.ApplicationClass';

$w = new DOTNET[$assembly, $class];
$w->visible = true;
7 và chúng ta sẽ thấy một loạt các PIA đã cài đặt

Chúng tôi thấy một mục nhập

$assembly = 'Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.Office.Interop.Word.ApplicationClass';

$w = new DOTNET[$assembly, $class];
$w->visible = true;
8 [được gạch chân trong ảnh chụp nhanh]. Đây sẽ là PIA chúng tôi sử dụng trong bản demo này. Vui lòng đặc biệt chú ý đến “Tên hội đồng”, “Phiên bản” và “Mã thông báo khóa công khai”. Chúng sẽ sớm được sử dụng trong các tập lệnh PHP của chúng tôi

Trong thư mục này, chúng ta cũng có thể thấy các PIA khác [bao gồm toàn bộ dòng Office] có sẵn để lập trình [không chỉ cho PHP mà còn cho VB. mạng, C#, v.v.]

Nếu danh sách PIA không bao gồm toàn bộ gói

$assembly = 'Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.Office.Interop.Word.ApplicationClass';

$w = new DOTNET[$assembly, $class];
$w->visible = true;
9, chúng tôi sẽ cài đặt lại Office của mình và bao gồm các tính năng của PIA; . Vui lòng tham khảo trang MSDN này để được hướng dẫn chi tiết

GHI CHÚ. Chỉ có sẵn Microsoft Office 2010 PIA Redistributable để tải xuống và cài đặt. Phiên bản PIA trong gói này là 14. 0. 0. Phiên bản 15 chỉ đi kèm với bộ cài Office 2013

Cuối cùng, chúng ta phải kích hoạt tiện ích mở rộng PHP

$assembly = 'Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.Office.Interop.Word.ApplicationClass';

$w = new DOTNET[$assembly, $class];
$w->visible = true;
0 trong tệp
$assembly = 'Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.Office.Interop.Word.ApplicationClass';

$w = new DOTNET[$assembly, $class];
$w->visible = true;
1 và khởi động lại máy chủ

Bây giờ chúng ta có thể chuyển sang lập trình

Biểu mẫu HTML

Vì trọng tâm của bản demo này là xử lý mặt sau, chúng tôi sẽ tạo một giao diện người dùng đơn giản với một biểu mẫu HTML đơn giản, trông giống như hình bên dưới

Chúng tôi có trường văn bản cho “Tên”, nhóm nút radio cho “Giới tính”, điều khiển phạm vi cho “Tuổi” và vùng văn bản cho “Tin nhắn”;

Lưu tệp này dưới dạng “chỉ mục. html” trong một thư mục bên dưới thư mục gốc của máy chủ ảo để chúng tôi có thể truy cập nó bằng một URI như

$assembly = 'Microsoft.Office.Interop.Word, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c';
$class = 'Microsoft.Office.Interop.Word.ApplicationClass';

$w = new DOTNET[$assembly, $class];
$w->visible = true;
2

Mặt sau

Tệp PHP phía sau là trọng tâm của cuộc thảo luận của chúng tôi. Trước tiên tôi sẽ liệt kê mã của tệp này, sau đó giải thích từng bước

Chủ Đề