XJDF ve CIP4 Standartları
NowToPrint'in CIP4 XJDF 2.2, PrintTalk 2.2, XJMF 2.2 ve ICS Level 3 standartlarına uyumluluğu hakkında teknik bilgiler.
XJDF ve CIP4 Standartları
NowToPrint, baskı sektörünün global iletişim standardı olan CIP4 standartlarına tam uyumludur.
Hızlı Erişim
- XJDF 2.2 - Sektör standardı iş tanımı formatı
- PrintTalk 2.2 - Ticari mesajlaşma protokolü
- XJMF 2.2 - Gerçek zamanlı iletişim
- ICS Uyumluluk - Interoperability Conformance Specification
- Kalite Kontrol (QC ICS) - SPC, CIEDE2000, ISO 12647-2
- XJDF API - External API Gateway
XJDF 2.2 Nedir?
XJDF (Exchange Job Definition Format), CIP4 tarafından geliştirilen ve baskı işlerinin tanımlanması için kullanılan XML/JSON tabanlı açık standarttır.
XJDF 2.2, Haziran 2024 tarihinde Drupa fuarında yayınlanmıştır.
Temel Özellikler
- Basitleştirilmiş Şema: Önceki JDF'e göre %75 daha az karmaşıklık
- JSON Desteği: XML yanında native JSON kodlama
- REST API Uyumu: Modern web servislerine entegrasyon
- Intent Tabanlı: Sonuç odaklı iş tanımı
NowToPrint Desteği
| Özellik | Durum |
|---|---|
| XJDF 2.2 Namespace | http://www.CIP4.org/JDFSchema_2_0 |
| MediaIntent | Kağıt/medya özellikleri |
| BindingIntent | Tüm cilt türleri |
| ColorIntent | Renk özellikleri |
| FoldingIntent | Katlama seçenekleri |
| FinishingIntent | Bitiş işlemleri |
| LaminatingIntent | Selefon seçenekleri |
PrintTalk 2.2 Nedir?
PrintTalk, XJDF'i tamamlayan ticari mesajlaşma protokolüdür. Teklif, sipariş ve onay süreçlerini standartlaştırır.
Mesaj Türleri
Teklif Talebi (RFQ)
Müşteriden matbaaya gönderilen fiyat talebi.
Teklif (Quotation)
Matbaadan müşteriye gönderilen fiyat ve teslimat süresi.
Satın Alma Siparişi (PurchaseOrder)
Müşterinin siparişi onaylaması.
Sipariş Onayı (Confirmation)
Matbaanın siparişi kabul etmesi.
Durum Güncellemesi (StatusUpdate)
Üretim sürecindeki ilerleme bildirimleri.
XJMF 2.2 Nedir?
XJMF (Exchange Job Messaging Format), cihazlar ve sistemler arasındaki gerçek zamanlı iletişimi sağlar.
Mesaj Türleri
| Tür | Açıklama |
|---|---|
| Query | Durum sorguları (cihaz listesi, iş durumu) |
| Command | İş gönderme, durdurma, iptal komutları |
| Signal | Cihazdan gelen otomatik bildirimler |
| Response | Query/Command yanıtları |
XJMF Kullanım Örneği
import {
createStatusQuery,
createSubmitCommand,
createAbortCommand,
validateXJMFMessage
} from '@/lib/xjdf';
// Cihaz durumu sorgula
const query = createStatusQuery('PRINTER-001', 'MIS-001');
// İş gönder
const command = createSubmitCommand(xjdfDocument, 'PRINTER-001');
// İş iptal et
const abort = createAbortCommand('JOB-123', 'PRINTER-001');
// Mesajı doğrula
const validation = validateXJMFMessage(query);
if (!validation.valid) {
console.error(validation.errors);
}
JMF Signal Endpoint
NowToPrint, harici cihazlardan gelen StatusSignal mesajlarını işler:
# XJMF StatusSignal gönder
curl -X POST https://api.nowtoprint.com/api/xjdf/jmf-signal \
-H "Content-Type: application/json" \
-d '{
"JobID": "ORD-12345",
"Status": "InProgress",
"DeviceID": "PRINTER-001",
"Phase": "Press",
"PercentComplete": 45
}'
Desteklenen alanlar: JobID, Status (Waiting/InProgress/Completed/Aborted/Stopped/Suspended), DeviceID, Phase (Prepress/Press/Postpress/Delivery), PercentComplete, WasteAmount, GoodCount, TotalAmount.
ICS Nedir?
ICS (Interoperability Conformance Specification), CIP4 tarafından yayınlanan uyumluluk spesifikasyonlarıdır.
ICS, XJDF'in neresinin implement edileceğini belirler. İki sistem "XJDF uyumlu" olsa bile, aynı ICS seviyesinde değillerse iletişim kuramayabilirler.
ICS Seviyeleri
| Seviye | Açıklama |
|---|---|
| Level 1 | Temel iş tanımı ve medya |
| Level 2 | Tam intent desteği, durum bildirimleri |
| Level 3 | Kuyruk yönetimi, gerçek zamanlı izleme, ResourceSet |
| Level 4 | ProcessSet, Assembly, Multi-part Jobs |
NowToPrint ICS Uyumluluk Tablosu
NowToPrint genel ICS skoru: 91/100 (Şubat 2026).
| ICS Dokümanı | Versiyon | Skor | Durum |
|---|---|---|---|
| Base ICS | 1.8 | 98 | Conformant |
| Messaging ICS | 1.8 | 90 | Conformant |
| MIS ICS | 2.2 | 90 | Conformant |
| APP ICS (PrintTalk) | 2.2 | 90 | Conformant |
| IDP ICS | 1.8 | 85 | Conformant |
| MIS-Prepress ICS | 1.8 | 92 | Conformant |
| QC ICS | 2.2 | 92 | ** Conformant** |
Desteklenen ICS Level 3 Özellikleri:
- MediaIntent, BindingIntent, ColorIntent, LaminatingIntent
- AuditPool ve zaman damgaları
- Durum bildirimleri (PrintTalk StatusUpdate)
- JSON ve XML serileştirme
- ResourceSet validasyonu (Media, Component, Ink, Device)
- Genişletilmiş DeviceCapabilities
- Kuyruk yönetimi (Submit, Abort, Hold, Resume, Remove)
- Real-time XJMF Signal işleme
ICS Level 4 Desteği (Şubat 2026):
- ProcessSet şeması (Pre-press, Press, Post-press süreçleri)
- ResourceSet genişletmeleri (Ink, Device)
- Assembly desteği (planlanan)
- Multi-part Jobs (planlanan)
Kalite Kontrol (QC ICS)
NowToPrint'in QC ICS modülü, ISO 12647-2 baskı kalite standardına tam uyumlu ölçüm ve analiz yetenekleri sunar.
QC ICS skoru: 92/100 — SPC kontrol kartları, CIEDE2000 renk ölçümü, trend analizi ve XJDF QualityControlResult desteğiyle conformant seviyesindedir.
Desteklenen Ölçüm Türleri
| Ölçüm | Standart | Açıklama |
|---|---|---|
| DensitySolid | ISO 12647-2 | Tam ton yoğunluk ölçümü |
| DotGain | ISO 12647-2 | Nokta kazanımı (TVI) |
| TrapPercent | ISO 12647-2 | Renk üstbaskı oranı |
| Registration | ISO 12647-2 | Pasör kayması (µm) |
| GrayBalance | ISO 12647-2 | Gri denge kontrolü |
| ColorAccuracy | CIEDE2000 / CIE76 | ΔE renk doğruluk farkı |
SPC Kontrol Kartları (X̄-R)
İstatistiksel Süreç Kontrolü (SPC), baskı sürecinin kararlılığını izlemek için X̄-R kontrol kartları üretir.
const qcManager = new QualityControlManager('JOB-001');
// Ölçümleri ekle
for (const data of measurementData) {
qcManager.addMeasurement(data);
}
// SPC verisi üret (alt grup boyutu: 5)
const spcData = qcManager.generateSPCData('JOB-001', 5);
console.log(`UCL: ${spcData.xBarChart.UCL}`);
console.log(`LCL: ${spcData.xBarChart.LCL}`);
console.log(`Kontrol dışı: ${spcData.outOfControlCount} nokta`);
ISO 7870-2 sabitleri (A₂, D₃, D₄) otomatik olarak uygulanır.
Trend Analizi
Western Electric kurallarıyla drift ve mean shift tespiti:
- Doğrusal regresyon (R² değeri)
- Artan / azalan / kararlı trend sınıflandırma
- Ortalamadan ±2σ sapma uyarıları
XJDF QualityControlResult
Ölçüm sonuçları, CIP4 standart format olan QualityControlResult kaynağına dönüştürülür:
// QC raporu → XJDF QualityControlResult
const xjdfResult = qcManager.toXJDFQualityControlResult('JOB-001');
// Sonuç harici MIS/ERP'ye gönderilebilir
console.log(xjdfResult.Verdict); // 'Pass' | 'Warning' | 'Fail'
console.log(xjdfResult.MeasurementCount);
CMYK Zone Ölçümleri
Baskı sayfasındaki CMYK separasyon bölgelerine göre ölçüm:
// Zone bazlı ölçüm ekle
qcManager.addMeasurementWithZone({
type: 'DensitySolid',
measured: 1.45,
target: 1.40,
unit: 'Density'
}, { color: 'Cyan', position: 'Left', sheetSide: 'Front' });
// Zone bazlı filtreleme
const cyanMeasurements = qcManager.getMeasurementsByZone('JOB-001', 'Cyan');
XJDF API Gateway
NowToPrint, harici sistemlerle XJDF entegrasyonu için RESTful API Gateway sunar.
XJDF API, API Key authentication ile korunur. Erişim için matbaa yöneticinizle iletişime geçin.
Mevcut Endpoint'ler
Korumalı Endpoint'ler (API Key gerekli):
| Endpoint | Metod | Açıklama |
|---|---|---|
/api/v1/xjdf | GET | API Discovery — tüm endpoint listesi |
/api/v1/xjdf/jobs | GET | İş listesi (filtreleme, pagination) |
/api/v1/xjdf/jobs | POST | Yeni iş oluştur (XJDF import) |
/api/v1/xjdf/jobs/:jobId | GET | İş detayı (XJDF export) |
/api/v1/xjdf/jobs/:jobId | PUT | İş güncelleme |
/api/v1/xjdf/qc | POST | QC ölçümü ekle |
/api/v1/xjdf/qc?jobId=X | GET | QC raporu al |
/api/v1/xjdf/master-data-export | GET | Master data XJDF ResourceSet export |
/api/v1/xjdf/compliance | GET | ICS uyumluluk raporu |
/api/xjdf/jmf-signal | POST | XJMF StatusSignal alıcı |
Public Endpoint'ler (API Key gerektirmez, IP rate limited):
| Endpoint | Metod | Açıklama |
|---|---|---|
/api/v1/xjdf/openapi | GET | OpenAPI 3.1 spesifikasyonu |
/api/v1/xjdf/capabilities | GET | Platform yetenekleri (ürün tipleri, medya, ICS) |
/api/v1/xjdf/schema | GET | CIP4 JSON Schema referansları |
/api/v1/xjdf/validate | POST | XJDF doküman doğrulama |
/api/v1/xjdf/status | GET | API durum bilgisi |
Kimlik Doğrulama
# Bearer Token
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.nowtoprint.com/api/v1/xjdf/jobs
# veya X-API-Key Header
curl -H "X-API-Key: YOUR_API_KEY" \
https://api.nowtoprint.com/api/v1/xjdf/jobs
Master Data Export
9 kategori desteklenir: paper, machine, ink, lamination, varnish, plate, adhesive, electricity, labor.
# Tüm kategorileri al
curl -H "X-API-Key: YOUR_API_KEY" \
https://api.nowtoprint.com/api/v1/xjdf/master-data-export
# Belirli kategorileri filtrele
curl -H "X-API-Key: YOUR_API_KEY" \
"https://api.nowtoprint.com/api/v1/xjdf/master-data-export?category=paper,ink&includeValidation=true"
OpenAPI Spesifikasyonu
# Kimlik doğrulama gerektirmez
curl https://api.nowtoprint.com/api/v1/xjdf/openapi
OpenAPI 3.1 formatında tam API dokümantasyonu döndürür. Swagger UI veya Postman ile import edilebilir.
API Yanıt Formatı
{
"@Type": "Response",
"@Version": "2.2",
"@Timestamp": "2026-02-28T18:00:00.000Z",
"XJDF": {
"@xmlns": "http://www.CIP4.org/JDFSchema_2_0",
"@Version": "2.2",
"@JobID": "ORD-12345",
"ProductList": { }
}
}
Rate Limiting
- API Key ile: 100 istek/dakika (key + IP bazlı)
- IP bazlı (public): 30 istek/dakika
Rate limit aşıldığında HTTP 429 döner. Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining header'larını kontrol edin.
Entegrasyon
NowToPrint XJDF modülünü kullanarak:
import {
generateXJDFDocument,
checkIDPCompliance,
getDeviceCapabilities,
getICSMetadata,
NOWTOPRINT_ICS_LEVEL
} from '@/lib/xjdf';
// XJDF dokümanı oluştur
const xjdf = generateXJDFDocument({
jobId: 'JOB-001',
productType: 'Book',
quantity: 1000,
finishedSize: { width: 210, height: 297 },
pageCount: 64,
binding: { type: 'PerfectBind' },
});
// ICS uyumluluğunu kontrol et
const result = checkIDPCompliance(xjdf, NOWTOPRINT_ICS_LEVEL);
if (result.compliant) {
console.log(`ICS Level ${NOWTOPRINT_ICS_LEVEL} uyumlu!`);
console.log(`Score: ${result.score}/100`);
}
// Platform yeteneklerini al
const capabilities = getDeviceCapabilities();
const metadata = getICSMetadata();
Kaynaklar
مقالات ذات صلة
هل كانت هذه المقالة مفيدة؟