Скачайте Total Excel Converter X и начните автоматизировать конвертацию XLSX в PDF на вашем сервере уже сегодня.
(включает 30 дней БЕСПЛАТНОГО пробного периода)
(серверная лицензия)
XLSX — это редактируемый формат электронных таблиц. Внешний вид зависит от установленных шрифтов, версии Excel и драйвера принтера — один и тот же файл выглядит по-разному на разных компьютерах. Получатели могут изменять значения ячеек, нарушать формулы или видеть данные, которые вы не собирались предоставлять.
PDF фиксирует макет страницы. Шрифты встроены, геометрия заблокирована, и каждая программа просмотра отображает одинаковый результат. Шифрование PDF контролирует, кто может просматривать, печатать или копировать содержимое.
На сервере разница ещё важнее. Нет монитора, мыши и установленного Excel. Конвертер командной строки считывает файл XLSX собственным парсером, применяет ваши правила форматирования и создаёт готовый PDF — без участия человека, без зависимости от Microsoft Office.
| Характеристика | XLSX | |
|---|---|---|
| Редактируемость | Полностью редактируемый | Только просмотр и печать |
| Единообразие макета | Зависит от системы | Одинаковый везде |
| Встраивание шрифтов | Нет | Да |
| Защита паролем | Ограниченная | Полная (просмотр, печать, копирование) |
| Требуемая программа | Excel или совместимое приложение | Любая программа для чтения PDF (бесплатно) |
| Работа на сервере | Нужен Office или парсер | Статический файл, специальное ПО не требуется |
ExcelConverterX.exe C:\Data\report.xlsx C:\Output\report.pdf -cPDFExcelConverterX.exe C:\Data\*.xlsx C:\Output\ -cPDF -PageSize:A4 -LandscapeExcelConverterX.exe C:\Data\*.xlsx C:\Output\ -cPDF -OwnerPassword:secret -UserPassword:open123 -log C:\Logs\excel.log
Все сообщения об ошибках записываются в лог-файл. Конвертер завершается без вывода сообщений, поэтому ваши скрипты и запланированные задачи работают без прерываний.
Total Excel Converter X регистрирует COM-объект (ExcelConverter.ExcelConverterX), который можно вызывать из любого языка, поддерживающего COM/ActiveX. Это позволяет конвертировать XLSX в PDF прямо из вашего веб-приложения, ERP-системы или конвейера обработки данных без запуска отдельного процесса.
.NET (C#):
ExcelConverterX cnv = new ExcelConverterX();
cnv.Convert(@"C:\Data\report.xlsx", @"C:\Output\report.pdf",
"-cPDF -PageSize:A4 -log C:\Logs\excel.log");PHP:
$c = new COM("ExcelConverter.ExcelConverterX");
$c->convert("C:\\Data\\report.xlsx", "C:\\Data\\report.pdf",
"-cPDF -log C:\\Logs\\excel.log");Python:
import win32com.client
c = win32com.client.Dispatch("ExcelConverter.ExcelConverterX")
c.convert(r"C:\Data\report.xlsx", r"C:\Data\report.pdf",
"-cPDF -log C:\Logs\excel.log")Также поддерживаются ASP, Ruby, Pascal, Perl и JavaScript (WSH). Дополнительные примеры см. на странице продукта.
Конвертер считывает XLSX, XLS, XLSM, ODS, XML и другие форматы электронных таблиц собственным парсером. Microsoft Excel не требуется. Графический интерфейс отсутствует — программа работает как консольный процесс или COM-объект, что безопасно для серверных сред Windows, где интерактивные службы отключены.
Укажите маску (*.xlsx), чтобы конвертировать все таблицы в папке одной командой. Объединяйте несколько файлов XLSX в один PDF или разделяйте каждый лист в отдельный файл. Встроенная функция переименования автоматически добавляет счётчики или имена листов к именам выходных файлов.
Установите пароль пользователя (для открытия PDF) и пароль владельца (для управления правами на печать, копирование и редактирование) прямо из командной строки. Финансовые отчёты, зарплатные ведомости и документы соответствия остаются защищёнными без ручных действий.
Задайте размер бумаги (A4, Letter, Legal, пользовательский), ориентацию и поля через параметры командной строки. Добавьте верхние и нижние колонтитулы с номерами страниц, датами, именами файлов или произвольным текстом. Широкие таблицы автоматически подгоняются под ширину страницы.
Каждая конвертация записывает статус и ошибки в лог-файл. Никаких диалоговых окон, всплывающих сообщений или запросов к пользователю. Отслеживайте лог из вашего приложения или отправляйте его в централизованную систему логирования.
Помимо PDF, конвертируйте XLSX в DOC, DOCX, HTML, CSV, TIFF, JPEG, XML, TXT, ODS, SQL, LaTeX и другие форматы — с тем же синтаксисом командной строки. Один инструмент покрывает все форматы, необходимые вашему конвейеру.
| Характеристика | Онлайн-инструменты | Total Excel Converter X |
|---|---|---|
| Ограничение размера файла | 10–100 МБ | Без ограничений |
| Пакетная конвертация | Ограниченная или платный API | Без ограничений (маска) |
| Конфиденциальность | Файлы загружаются в облако | 100% локальная обработка |
| Шифрование PDF | Редко доступно | Встроенное (пароли пользователя и владельца) |
| Управление макетом | Минимальное | Полное (размер, поля, колонтитулы) |
| Серверная интеграция | REST API (платный) | COM/ActiveX + командная строка |
| Зависимость от Office | Нет (облако) | Нет (автономный парсер) |
| Автоматизация | Вручную или API-вызовы | Файлы .bat + Планировщик задач |
| Стоимость | Подписка помесячно | Разовая серверная лицензия |
(включает 30 дней БЕСПЛАТНОГО пробного периода)
(серверная лицензия)
"Мы обрабатываем более 400 финансовых отчётов каждую ночь. Total Excel Converter X работает через Планировщик задач, конвертирует все входящие файлы XLSX в зашифрованные PDF и ведёт лог. Ноль ручного вмешательства с момента настройки два года назад."
Daniel Krause DevOps Engineer
"Интеграция через ActiveX сэкономила нам недели разработки. Три строки кода на PHP — и наше интранет-приложение конвертирует загруженные таблицы в PDF на лету. Никакой зависимости от Office, никаких проблем с очисткой временных файлов."
Mariana Costa Senior PHP Developer
"Надёжный инструмент командной строки. Пакетная конвертация XLS и XLSX в PDF работает без проблем на нашем Windows Server 2019. Логирование чистое и легко интегрируется с нашей системой мониторинга."
James Whitfield IT Infrastructure Manager
string src="C:\\test\\Source.xlsx";
string dest="C:\\test\\Dest.PDF";
ExcelConverterX Cnv = new ExcelConverterX();
Cnv.Convert(src, dest, "-c PDF -log c:\\test\\Excel.log");
MessageBox.Show("Convert complete!");
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\ExcelConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var msgPath = $@"{assemblyDirectoryPath}\MSG\MSG-1.xlsx";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(msgPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & MSG files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{msgPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
C.Convert "c:\test\source.xlsx", "c:\test\dest.pdf", "-cPDF -log c:\test\Excel.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Rresponse.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite c.ConvertToStream("C:\www\ASP\Source.xlsx", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.XLS";
$dest="C:\\test\\test.CSV";
if (file_exists($dest)) unlink($dest);
$c= new COM("ExcelConverter.ExcelConverterX");
$c->convert($src,$dest, "-c csv -log c:\\test\\xls.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('ExcelConverter.ExcelConverterX')
src="C:\\test\\test.xlsx";
dest="C:\\test\\test.pdf";
c.convert(src,dest, "-c PDF -log c:\\test\\Excel.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("ExcelConverter.ExcelConverterX")
src="C:\\test\\test.xlsx";
dest="C:\\test\\test.pdf";
c.convert(src, dest, "-c PDF -log c:\\test\\Excel.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c:=CreateOleObject('ExcelConverter.ExcelConverterX');
C.Convert('c:\test\source.xlsx', 'c:\test\dest.pdf', '-cPDF -log c:\test\Excel.log');
IF c.ErrorMessage<> Then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("ExcelConverter.ExcelConverterX");
c.Convert("C:\\test\\source.xlsx", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage!="")
alert(c.ErrorMessage)
use Win32::OLE; my $src="C:\\test\\test.XLS"; my $dest="C:\\test\\test.CSV"; my $c = CreateObject Win32::OLE 'ExcelConverter.ExcelConverterX'; $c->convert($src,$dest, "-c csv -log c:\\test\\xls.log"); print $c->ErrorMessage if -e $dest;
Скачайте пробную версию и конвертируйте файлы за считанные минуты.
Не требуется ни банковская карта, ни email.