PDF dosyalarını DOCX formatına dönüştürmek, özellikle düzenlenebilir Word çıktısına ihtiyaç duyulduğunda, belge‑odaklı uygulamalar geliştirirken sık karşılaşılan bir gereksinimdir. GroupDocs.Conversion Cloud SDK for Node.js bu görevi basit ve ölçeklenebilir hâle getiren sağlam bir API sağlar. Bu kılavuzda tam bir asenkron kod örneğini görecek, aynı sonucu cURL REST çağrılarıyla nasıl elde edeceğinizi öğrenecek, SDK’yı kuracak ve güvenilir dönüşümler için en iyi uygulama önerilerini uygulayacaksınız.
Tam Kod Örneği: Node.JS’te Asenkron PDF’den DOCX’e Dönüştürme
Bu örnek, GroupDocs.Conversion Cloud SDK for Node.js kullanarak asenkron bir PDF’den DOCX’e dönüşümün nasıl gerçekleştirileceğini gösterir.
// PDF to DOCX conversion using GroupDocs.Conversion Cloud SDK for Node.js
const GroupDocsConversionCloud = require('groupdocs-conversion-cloud');
const path = require('path');
// -------------------- Configuration --------------------
const CLIENT_ID = process.env.GROUPDOCS_CLIENT_ID || 'YOUR_CLIENT_ID';
const CLIENT_SECRET = process.env.GROUPDOCS_CLIENT_SECRET || 'YOUR_CLIENT_SECRET';
// Initialize API client
const apiInstance = new GroupDocsConversionCloud.ConversionApi();
apiInstance.apiClient = new GroupDocsConversionCloud.ApiClient();
apiInstance.apiClient.basePath = 'https://api.groupdocs.cloud';
apiInstance.apiClient.authentications['JWT'].clientId = CLIENT_ID;
apiInstance.apiClient.authentications['JWT'].clientSecret = CLIENT_SECRET;
// -------------------- Conversion Logic --------------------
async function convertPdfToDocx() {
try {
// Input file information (must already be uploaded to GroupDocs Cloud storage)
const inputFileInfo = new GroupDocsConversionCloud.FileInfo();
inputFileInfo.filePath = path.normalize('input.pdf'); // generic path in cloud storage
// DOCX specific conversion options (optional, shown for demonstration)
const docxOptions = new GroupDocsConversionCloud.DocxConvertOptions();
docxOptions.preserveOriginalFormatting = true; // keep original PDF layout as much as possible
docxOptions.password = null; // if PDF is password protected, set it here
// Build conversion request
const convertRequest = new GroupDocsConversionCloud.ConvertDocumentRequest();
convertRequest.format = 'docx';
convertRequest.fileInfo = inputFileInfo;
convertRequest.outputPath = path.normalize('output.docx'); // result will be stored in cloud storage
convertRequest.options = docxOptions; // attach format‑specific options
// Perform conversion (async)
const conversionResult = await apiInstance.convertDocument(convertRequest);
// conversionResult contains the path of the generated file and other metadata
console.log('Conversion succeeded.');
console.log('Output file path:', conversionResult.path);
console.log('File size (bytes):', conversionResult.size);
} catch (error) {
// Detailed error handling
if (error.response && error.response.body) {
console.error('API error:', error.response.body);
} else {
console.error('Unexpected error:', error.message);
}
}
}
// -------------------- Execution --------------------
(async () => {
// Optional: set a timeout to avoid hanging indefinitely
const timeoutMs = 300000; // 5 minutes
const timeout = setTimeout(() => {
console.error('Conversion timed out after', timeoutMs / 1000, 'seconds');
process.exit(1);
}, timeoutMs);
await convertPdfToDocx();
clearTimeout(timeout);
// Graceful shutdown
process.exit(0);
})();
Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce dosya yollarını (
input.pdf,output.docxvb.) gerçek konumlarınıza göre güncellediğinizden, tüm gerekli bağımlılıkların yüklü olduğundan emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.
cURL ve REST API Kullanarak Belgeleri Dönüştürme
Kod yazmadan aynı PDF’ten DOCX’e dönüşümü, GroupDocs.Conversion Cloud REST uç noktalarını doğrudan çağırarak gerçekleştirebilirsiniz. Aşağıdaki adımlar bir erişim belirteci almayı, bir PDF yüklemeyi, dönüşümü başlatmayı ve ortaya çıkan DOCX dosyasını indirmeyi gösterir.
- Kimlik doğrulaması yapın ve bir erişim belirteci alın
YOUR_CLIENT_IDveYOUR_CLIENT_SECRETdeğerlerini kimlik bilgilerinizle değiştirin.
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{
"grant_type":"client_credentials",
"client_id":"YOUR_CLIENT_ID",
"client_secret":"YOUR_CLIENT_SECRET"
}'
Yanıt, sonraki çağrılarda kullanacağınız access_token içerir.
- Kaynak PDF’yi yükleyin
curl -X PUT "https://api.groupdocs.cloud/v1.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary @./local/input.pdf
- Dönüşümü yürütün
curl -X POST "https://api.groupdocs.cloud/v1.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"format":"docx",
"fileInfo":{"filePath":"input.pdf"},
"outputPath":"output.docx",
"options":{"preserveOriginalFormatting":true}
}'
Yanıt, oluşturulan DOCX dosyasının yolunu döndürür.
- Dönüştürülmüş DOCX’i İndir
curl -X GET "https://api.groupdocs.cloud/v1.0/storage/file/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o ./local/output.docx
İstek yükleri ve ek seçenekler hakkında daha fazla ayrıntı için, resmi API belgelerine bakın.
Node.JS’de PDF’den DOCX Dönüşümünü Parçalara Ayırma
Aşağıda, eşzamanlı kod örneğinin ana bölümlerine kısa bir inceleme yer almaktadır.
- İstemciyi içe aktar ve yapılandır
const GroupDocsConversionCloud = require('groupdocs-conversion-cloud');
const apiInstance = new GroupDocsConversionCloud.ConversionApi();
ConversionApi sınıfı (API reference) tüm dönüşüm işlemleri için giriş noktasıdır.
- Kimlik doğrulama kimlik bilgilerini ayarlayın
apiInstance.apiClient.authentications['JWT'].clientId = CLIENT_ID;
apiInstance.apiClient.authentications['JWT'].clientSecret = CLIENT_SECRET;
JWT kimlik doğrulaması, bulut hizmetine yapılan her isteği güvence altına alır.
- Giriş dosyası bilgilerini hazırlayın
const inputFileInfo = new GroupDocsConversionCloud.FileInfo();
inputFileInfo.filePath = path.normalize('input.pdf');
FileInfo API’ye kaynak PDF’nin GroupDocs Cloud depolamasında nerede bulunduğunu bildirir.
- DOCX‑özel seçenekleri yapılandırın
const docxOptions = new GroupDocsConversionCloud.DocxConvertOptions();
docxOptions.preserveOriginalFormatting = true;
DocxConvertOptions size orijinal düzeni korumanıza ve gerektiğinde şifreleri yönetmenize olanak tanır.
- Dönüştürme isteğini oluşturun ve gönderin
const convertRequest = new GroupDocsConversionCloud.ConvertDocumentRequest();
convertRequest.format = 'docx';
convertRequest.fileInfo = inputFileInfo;
convertRequest.outputPath = path.normalize('output.docx');
convertRequest.options = docxOptions;
const conversionResult = await apiInstance.convertDocument(convertRequest);
convertDocument yöntemi gerçek dönüşümü gerçekleştirir ve çıktı yolu ve dosya boyutu gibi meta verileri döndürür.
Kurulum ve Yapılandırma GroupDocs.Conversion Cloud SDK for Node.JS
- Paketi yükleyin
npm install groupdocs-conversion-cloud
Paket, genel npm kaydından temin edilebilir. Sürüm ayrıntıları için indirme sayfasına bakın.
Önkoşullar
- Node.js 12 ve üzeri.
- Client ID ve client secret içeren bir GroupDocs Cloud hesabı.
Projenizde SDK’yı Başlatın (tam örnekten alıntı)
const GroupDocsConversionCloud = require('groupdocs-conversion-cloud');
const apiInstance = new GroupDocsConversionCloud.ConversionApi();
apiInstance.apiClient.basePath = 'https://api.groupdocs.cloud';
Bölgesel bir uç nokta kullanıyorsanız basePath değerini ayarlayın.
Yüksek Performanslı Belge Dönüştürme için En İyi Uygulamalar
- API istemcisini yeniden kullanın her dönüşüm için yeni bir örnek oluşturmaktan kaçının; bu, kimlik doğrulama yükünü azaltır.
- Büyük PDF’ler için akış yüklemelerini etkinleştirin tüm dosyanın belleğe yüklenmesini önlemek için.
- Mantıklı bir zaman aşımı ayarlayın (ör. 5 dakika) bekleyen işleri önlemek ve karmaşık belgelerin tamamlanmasına izin vermek için.
- Orijinal biçimlendirmeyi yalnızca gerektiğinde koruyun; devre dışı bırakmak, yalnızca metin içeren basit PDF’lerde dönüşümü hızlandırabilir.
- API kullanım limitlerini izleyin GroupDocs hesabınızın kontrol panelinde toplu işlemler sırasında sınırlamaya takılmamak için.
Sonuç
GroupDocs.Conversion Cloud SDK for Node.js PDF’den DOCX’e dönüşümü sorunsuz hale getirir, ister tam özellikli bir kütüphane ister cURL ile doğrudan REST çağrıları tercih edin. Asenkron kod örneğini izleyerek, istemciyi doğru şekilde yapılandırarak ve yukarıdaki performans ipuçlarını uygulayarak, herhangi bir Node.JS hizmetine güvenilir belge dönüşümünü entegre edebilirsiniz. Üretim kullanımı için uygun bir lisans almayı unutmayın; fiyatlandırma detayları ürün sayfasında mevcuttur ve geçici bir lisans, değerlendirme amacıyla geçici lisans sayfası adresinden alınabilir.
SSS
PDF’den DOCX’e dönüşüm Node.JS’te karmaşık düzenleri nasıl ele alır?
SDK, varsayılan olarak orijinal biçimlendirmeyi korumaya çalışır. Hızı artırmak için doğrulukla takas yapmak amacıylaDocxConvertOptionsiçindepreserveOriginalFormattingseçeneğini açıp kapatabilirsiniz. Tüm seçenekler için API referansına bakın.PDF’den DOCX’e dönüşümde dosya boyutu sınırları nelerdir?
Bulut hizmeti, ücretsiz hesaplar için 200 MB’a kadar dosyaları kabul eder; daha büyük dosyalar yükseltilmiş bir plan gerektirir. Yüklemeler akış olarak yapılır, bu yüzden sunucunuzdaki bellek kullanımı düşük kalır.Tek bir istek içinde birden fazla PDF’i DOCX’e dönüştürebilir miyim?
API, istekte bir belge işler, ancak Node.JS’te bir dosya listesi üzerinde döngü yaparak ve hesabınızın eşzamanlılık limitlerine uyarak dönüşümleri paralel olarak çalıştırabilirsiniz.Yerel olarak, ücretli bir lisans olmadan dönüşümü test etmenin bir yolu var mı?
Evet, geçici lisans sayfasından geçici bir değerlendirme lisansı talep edebilirsiniz. Bu, geliştirme ve test için tam işlevsellik sağlar.
