Pobierz Total Excel Converter X i zacznij automatyzować konwersję XLSX do PDF na swoim serwerze już dziś.
(zawiera 30-dniowy BEZPŁATNY okres próbny)
(licencja serwerowa)
XLSX to edytowalny format arkusza kalkulacyjnego. Układ zależy od zainstalowanych czcionek, wersji Excela i sterownika drukarki — ten sam plik wygląda inaczej na różnych komputerach. Odbiorcy mogą zmieniać wartości komórek, niszczyć formuły lub widzieć dane, których nie zamierzałeś udostępniać.
PDF zamraża układ strony. Czcionki są osadzone, geometria zablokowana, a każda przeglądarka wyświetla ten sam rezultat. Szyfrowanie PDF kontroluje, kto może przeglądać, drukować lub kopiować zawartość.
Na serwerze różnica jest jeszcze większa. Nie ma monitora, myszy ani zainstalowanego Excela. Konwerter wiersza poleceń odczytuje plik XLSX własnym parserem, stosuje Twoje reguły formatowania i tworzy gotowy PDF — bez interwencji człowieka, bez zależności od Microsoft Office.
| Cecha | XLSX | |
|---|---|---|
| Edytowalność | W pełni edytowalny | Tylko przeglądanie i drukowanie |
| Spójność układu | Zależy od systemu | Identyczny wszędzie |
| Osadzanie czcionek | Nie | Tak |
| Ochrona hasłem | Ograniczona | Pełna (przeglądanie, drukowanie, kopiowanie) |
| Wymagana przeglądarka | Excel lub kompatybilna aplikacja | Dowolny czytnik PDF (bezpłatny) |
| Przystosowanie do serwera | Wymaga Office lub parsera | Plik statyczny, nie wymaga specjalnego oprogramowania |
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
Wszystkie komunikaty o błędach trafiają do pliku dziennika. Konwerter kończy działanie bezgłośnie, dzięki czemu Twoje skrypty i zaplanowane zadania działają bez przerw.
Total Excel Converter X rejestruje obiekt COM (ExcelConverter.ExcelConverterX), który można wywołać z dowolnego języka obsługującego COM/ActiveX. Pozwala to konwertować XLSX do PDF bezpośrednio z aplikacji internetowej, systemu ERP lub potoku przetwarzania danych bez uruchamiania osobnego procesu.
.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")Obsługiwane są również ASP, Ruby, Pascal, Perl i JavaScript (WSH). Więcej przykładów na stronie produktu.
Konwerter odczytuje formaty XLSX, XLS, XLSM, ODS, XML i inne arkusze kalkulacyjne własnym parserem. Microsoft Excel nie jest wymagany. Nie ma interfejsu graficznego — program działa jako proces konsolowy lub obiekt COM, co czyni go bezpiecznym dla środowisk Windows Server, w których usługi interaktywne są wyłączone.
Użyj symbolu wieloznacznego (*.xlsx), aby przekonwertować każdy arkusz w folderze jednym poleceniem. Łącz wiele plików XLSX w jeden PDF lub rozdzielaj każdy arkusz do osobnego pliku. Wbudowana funkcja zmiany nazw automatycznie dodaje liczniki lub nazwy arkuszy do nazw plików wyjściowych.
Ustaw hasło użytkownika (wymagane do otwarcia PDF) i hasło właściciela (kontroluje uprawnienia do drukowania, kopiowania i edycji) bezpośrednio z wiersza poleceń. Raporty finansowe, tabele wynagrodzeń i dokumenty zgodności pozostają chronione bez ręcznych kroków.
Określ rozmiar papieru (A4, Letter, Legal, niestandardowy), orientację i marginesy za pomocą flag. Dodaj nagłówki i stopki z numerami stron, datami, nazwami plików lub własnym tekstem. Szerokie tabele są automatycznie dopasowywane do szerokości strony.
Każda konwersja zapisuje status i błędy w pliku dziennika. Żadnych okien komunikatów, wyskakujących okien ani monitów dla użytkownika. Monitoruj dziennik z aplikacji lub wysyłaj go do scentralizowanego systemu logowania.
Oprócz PDF konwertuj XLSX do DOC, DOCX, HTML, CSV, TIFF, JPEG, XML, TXT, ODS, SQL, LaTeX i innych formatów — z tą samą składnią wiersza poleceń. Jedno narzędzie obsługuje każdy format, którego potrzebuje Twój potok.
| Cecha | Narzędzia online | Total Excel Converter X |
|---|---|---|
| Limit rozmiaru pliku | 10–100 MB | Bez limitu |
| Konwersja wsadowa | Ograniczona lub płatne API | Bez ograniczeń (symbol wieloznaczny) |
| Prywatność | Pliki przesyłane do chmury | 100% przetwarzanie lokalne |
| Szyfrowanie PDF | Rzadko dostępne | Wbudowane (hasła użytkownika i właściciela) |
| Kontrola układu strony | Minimalna | Pełna (rozmiar, marginesy, nagłówki) |
| Integracja z serwerem | REST API (płatne) | COM/ActiveX + wiersz poleceń |
| Zależność od Office | Brak (chmura) | Brak (samodzielny parser) |
| Automatyzacja | Ręcznie lub wywołania API | Pliki .bat + Harmonogram zadań |
| Cena | Subskrypcja miesięczna | Jednorazowa licencja serwerowa |
(zawiera 30-dniowy BEZPŁATNY okres próbny)
(licencja serwerowa)
"Przetwarzamy ponad 400 raportów finansowych każdej nocy. Total Excel Converter X działa przez Harmonogram zadań, konwertuje wszystkie przychodzące pliki XLSX do zaszyfrowanych PDF i rejestruje wszystko w dzienniku. Zero ręcznej interwencji od momentu konfiguracji dwa lata temu."
Daniel Krause DevOps Engineer
"Integracja ActiveX zaoszczędziła nam tygodni pracy programistycznej. Trzy linie kodu PHP i nasza aplikacja intranetowa konwertuje przesłane arkusze do PDF w locie. Żadnej zależności od Office, żadnych problemów z czyszczeniem plików tymczasowych."
Mariana Costa Senior PHP Developer
"Solidne narzędzie wiersza poleceń. Konwersja wsadowa XLS i XLSX do PDF działa bez problemów na naszym Windows Server 2019. Logowanie jest przejrzyste i łatwe do integracji z naszym systemem monitoringu."
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;
Pobierz wersję próbną i konwertuj pliki w kilka minut.
Nie jest wymagana karta kredytowa ani e-mail.